Files
SlaveMatrix-SDL/SlaveMatrix/Assets/Parts/頬瞼左/x0y0.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

24 lines
11 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
<g id="瞼左">
<g transform="translate(0.3259798238023767,0.12265017031995629) rotate(0) scale(1,1) translate(-0.014168721482344672,-0.015561954080885157)"><path d="M 0.02031932413981384 0.01425460312781501 C 0.020290769369989935 0.01445792035835401 0.019793416727615382 0.01709243816526778 0.01997666690192697 0.016694409894283016 C 0.019793416727615382 0.01709243816526778 0.017719524553560195 0.019327986675950072 0.018120322048074775 0.019030942379632182 C 0.017719524553560195 0.019327986675950072 0.014654546746296241 0.020367887362853537 0.015167096967752007 0.02025894145009769 C 0.014654546746296241 0.020367887362853537 0.011482753860128115 0.020229948892554528 0.011969719390605597 0.020338293332702328 C 0.011482753860128115 0.020229948892554528 0.008994210554878047 0.01866972581009518 0.009323510602022222 0.0189588081683241 C 0.008994210554878047 0.01866972581009518 0.00790933617677993 0.0166951797727579 0.008018118824875492 0.0168693050339553" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.008018118824875492 0.0168693050339553 C 0.008127878823180041 0.016960722436100827 0.009652786313802073 0.018137097246463372 0.009335238804530077 0.017966313859701603 C 0.009652786313802073 0.018137097246463372 0.012289624602058765 0.01899189516097094 0.011828688936139442 0.018918705675096514 C 0.012289624602058765 0.01899189516097094 0.015353389505944927 0.01874108907307665 0.014866466795561951 0.018844587690194706 C 0.015353389505944927 0.01874108907307665 0.01806307829880821 0.017422380921882162 0.017671761460735153 0.017676722269679875 C 0.01806307829880821 0.017422380921882162 0.019782899075695207 0.015507314921466762 0.019562268852438648 0.015792491516622167 C 0.019782899075695207 0.015507314921466762 0.02038241208042844 0.01412644576208108 0.02031932413981384 0.01425460312781501" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.32248193275740933,0.12594881033350433) rotate(0) scale(1,1) translate(-0.002250839720332365,-0.0018079033898251923)"><path d="M 0.0012329129764107735 0.0026620453452152887 C 0.0012693300865260864 0.0026193097416330963 0.0017427525180251549 0.0020637468950645923 0.0016699182977945289 0.0021492181022289775 C 0.0017427525180251549 0.0020637468950645923 0.0021433407292935974 0.0015936552556604729 0.0021069236191782843 0.0016363908592426655" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.0021069236191782843 0.0016363908592426655 C 0.002115676733080976 0.0016323092151971374 0.0022303353409379887 0.001584171236169513 0.0022119609860105833 0.0015874111306963283 C 0.0022303353409379887 0.001584171236169513 0.002344948483715841 0.0016038934714187822 0.0023274158783071486 0.0015975121249208837 C 0.002344948483715841 0.0016038934714187822 0.002434345259344399 0.001678279999552988 0.002422352250914892 0.001663987288671111 C 0.002434345259344399 0.001678279999552988 0.0024745718739880448 0.0017873990104308158 0.00247133197946123 0.0017690246555034103 C 0.0024745718739880448 0.0017873990104308158 0.0024548496387387752 0.0019020121532086676 0.002461230985236674 0.0018844795477999752 C 0.0024548496387387752 0.0019020121532086676 0.0023892162245072596 0.0019873272847916986 0.0023947558214864454 0.0019794159204077197" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.0023947558214864454 0.0019794159204077197 C 0.0023463457029416256 0.002007858813108035 0.00171701416185897 0.002377616418212135 0.0018138343989486095 0.002320730632811504 C 0.00171701416185897 0.002377616418212135 0.0011845028578659539 0.002690488237915604 0.0012329129764107735 0.0026620453452152887" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3252475467529253,0.12638794724875088) rotate(0) scale(1,1) translate(-0.002250839720332365,-0.0018079033898251923)"><path d="M 0.001993491739451025 0.0023588348276175684 C 0.0019952398585003197 0.0023367880256851045 0.0020179654061411507 0.0020501796005630724 0.0020144691680425613 0.0020942732044280004 C 0.0020179654061411507 0.0020501796005630724 0.0020371947156833936 0.0018076647793059688 0.0020354465966340987 0.0018297115812384327" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.0020354465966340987 0.0018297115812384327 C 0.0020369426892231372 0.00182049338911444 0.0020608005505421178 0.001702639941364702 0.002053399707702562 0.001719093275750519 C 0.0020608005505421178 0.001702639941364702 0.002138892695810151 0.00162172298447333 0.002124256710708771 0.0016322715686086294 C 0.002138892695810151 0.00162172298447333 0.0022469809558939803 0.001590692916842489 0.002229031528919125 0.0015925102661269257 C 0.0022469809558939803 0.001590692916842489 0.002356103168792855 0.001617864220034945 0.0023396498344070383 0.001610463377195389 C 0.002356103168792855 0.001617864220034945 0.0024370201256842276 0.0016959563653029795 0.002426471541548928 0.0016813203802015992 C 0.0024370201256842276 0.0016959563653029795 0.002469546285904107 0.0017948264332628147 0.0024662328440306315 0.001786095198411952" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.0024662328440306315 0.001786095198411952 C 0.002446535298006481 0.0018099593496288527 0.002190467199692528 0.0021201933154485616 0.0022298622917408285 0.00207246501301476 C 0.002190467199692528 0.0021201933154485616 0.001973794193426875 0.002382698978834469 0.001993491739451025 0.0023588348276175684" fill="none" stroke="#000000" stroke-width="0.001"/>
</g></g>
<g id="瞼右">
<g transform="translate(0.3259798238023767,0.12265017031995629) rotate(0) scale(1,1) translate(-0.014168721482344672,-0.015561954080885157)"><path d="M 0.020319324139813834 0.01425460312781497 C 0.020209564141509283 0.014163185725669443 0.018684656650887237 0.012986810915306872 0.019002204160159235 0.013157594302068646 C 0.018684656650887237 0.012986810915306872 0.016047818362630535 0.012132013000799259 0.016508754028549857 0.012205202486673682 C 0.016047818362630535 0.012132013000799259 0.012984053458744383 0.012382819088693625 0.01347097616912736 0.012279320471575572 C 0.012984053458744383 0.012382819088693625 0.01027436466588108 0.013701527239888033 0.010665681503954139 0.013447185892090322 C 0.01027436466588108 0.013701527239888033 0.008554543888994109 0.015616593240303503 0.008775174112250664 0.015331416645148092 C 0.008554543888994109 0.015616593240303503 0.007955030884260887 0.01699746239968919 0.008018118824875485 0.01686930503395526" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008018118824875485 0.01686930503395526 C 0.008046673594699391 0.016665987803416257 0.008544026237073938 0.014031469996502484 0.00836077606276235 0.014429498267487248 C 0.008544026237073938 0.014031469996502484 0.010617918411129138 0.011805788354221091 0.010217120916614558 0.012092965782138098 C 0.010617918411129138 0.011805788354221091 0.013671665326137788 0.010908789037629683 0.013170345996937307 0.010983369132483175 C 0.013671665326137788 0.010908789037629683 0.016709036721617176 0.01132341530855843 0.01623295286702034 0.011198004643896186 C 0.016709036721617176 0.01132341530855843 0.019223883191498786 0.012743013648756676 0.018883352252099327 0.012488297108430111 C 0.019223883191498786 0.012743013648756676 0.020438988463790043 0.014401795296097041 0.020319324139813834 0.01425460312781497" fill="none" stroke="none" stroke-width="0"/>
</g><g transform="translate(0.32144266356109197,0.1210594331806562) rotate(0) scale(1,1) translate(-0.002250839720332365,-0.0018079033898251923)"><path d="M 0.0009735065355643082 0.001441633993016366 C 0.0010293001461611597 0.0014479276993371345 0.0017546170839202297 0.0015297458815071256 0.0016430298627265266 0.0015171584688655885 C 0.0017546170839202297 0.0015297458815071256 0.0023683468004855966 0.0015989766510355803 0.002312553189888745 0.0015926829447148116" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.002312553189888745 0.0015926829447148116 C 0.0023208317053379384 0.0015976571786322385 0.0024248561784541694 0.0016657950563028219 0.002411895375279067 0.0016523737517239335 C 0.0024248561784541694 0.0016657950563028219 0.0024725965605036145 0.001771842191966276 0.0024680828279899708 0.0017537385996614716 C 0.0024725965605036145 0.001771842191966276 0.002460917376313097 0.0018875518964741288 0.002466060165442793 0.001869616859381587 C 0.002460917376313097 0.0018875518964741288 0.0023929480538547247 0.001981919847947078 0.0024063693584336163 0.0019689590447719723 C 0.0023929480538547247 0.001981919847947078 0.0022869009181912914 0.002029660229996492 0.0023050045104960936 0.002025146497482857 C 0.0022869009181912914 0.002029660229996492 0.0021794697291326473 0.0020229552797233234 0.0021891262507759894 0.002023123834935595" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.0021891262507759894 0.002023123834935595 C 0.002138475429308836 0.0019988950915222937 0.0014800147502358422 0.0016839214271493783 0.001581316393170149 0.0017323789139759807 C 0.0014800147502358422 0.0016839214271493783 0.0009228557140971549 0.0014174052496030648 0.0009735065355643082 0.001441633993016366" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3237905645895303,0.11953338509386993) rotate(0) scale(1,1) translate(-0.002250839720332365,-0.0018079033898251923)"><path d="M 0.001791656637792142 0.001409275331203542 C 0.0018193576662450248 0.0014230646044015383 0.0021794710361325038 0.0016023251559754994 0.002124068979226736 0.0015747466095794977 C 0.0021794710361325038 0.0016023251559754994 0.0024841823491142385 0.001754007161153568 0.0024564813206613537 0.0017402178879555627" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.0024564813206613537 0.0017402178879555627 C 0.0024570056540418224 0.0017495419661178232 0.0024590897015538526 0.0018697679593105722 0.002462773321226976 0.001852106825902688 C 0.0024590897015538526 0.0018697679593105722 0.0024002572096651215 0.0019656046692044632 0.002412277884583869 0.0019521514888501713 C 0.0024002572096651215 0.0019656046692044632 0.0023013884221745927 0.002019185448643326 0.002318525222202008 0.0020135449901541895 C 0.0023013884221745927 0.002019185448643326 0.002188975150846998 0.0020161533710466887 0.0022066362842548823 0.0020198369907198123 C 0.002188975150846998 0.0020161533710466887 0.002093138440953108 0.0019573208791579567 0.0021065916213073997 0.001969341554076704 C 0.002093138440953108 0.0019573208791579567 0.0020400819948947135 0.0018677761698296892 0.0020451981200033816 0.0018755888916948441" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.0020451981200033816 0.0018755888916948441 C 0.0020346338915779123 0.001856159160007702 0.0018972989220468134 0.0016035726480748635 0.00191842737889775 0.0016424321114491386 C 0.0018972989220468134 0.0016035726480748635 0.0017810924093666746 0.001389845599516409 0.001791656637792142 0.001409275331203542" fill="none" stroke="#000000" stroke-width="0.001"/>
</g></g>
</svg>