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

25 lines
9.4 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.3257456317518053,0.1130072566562324) rotate(0) scale(1,1) translate(-0.14152185117886698,-0.14116273906070584)"><path d="M 0.1317967290307309 0.14152128608500533 C 0.13196830228129378 0.1409422222775161 0.13460562065393777 0.1336900036301274 0.13385560803748547 0.13457252039513456 C 0.13460562065393777 0.1336900036301274 0.14198036291130173 0.13082619305892967 0.14079688042815833 0.13093108490491925 C 0.14198036291130173 0.13082619305892967 0.1489283753604131 0.13394357602344725 0.14805739783520633 0.13331381824325977 C 0.1489283753604131 0.13394357602344725 0.15151454513859225 0.13891937493582826 0.1512486107306395 0.13848817826716914" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.1512486107306395 0.13848817826716914 C 0.15133270124434645 0.1392156041124309 0.15115744783509624 0.14370363870290292 0.15175315381288118 0.14285273333873974 C 0.15115744783509624 0.14370363870290292 0.14699457837243796 0.14371708997104957 0.14767437486392984 0.14359361045214816" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.14767437486392984 0.14359361045214816 C 0.14754319693942086 0.14339022904556967 0.1456096721692157 0.14085748536587714 0.14610023976982217 0.14115303357320633 C 0.1456096721692157 0.14085748536587714 0.14099877435935476 0.13998765687000783 0.14178756365665218 0.14004703196419802 C 0.14099877435935476 0.13998765687000783 0.13599493336663251 0.1406191470089898 0.13663476820225295 0.14044053244292418 C 0.13599493336663251 0.1406191470089898 0.13389911041478653 0.14233622961649087 0.13410954562920702 0.14219040675698574" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.13410954562920702 0.14219040675698574 C 0.13421196279529907 0.14234523465270082 0.13551996872100372 0.14427535573978031 0.13533855162231165 0.14404834150556656 C 0.13551996872100372 0.14427535573978031 0.13636555074611179 0.14498676390604945 0.13628655081351176 0.14491457756755077" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.13628655081351176 0.14491457756755077 C 0.13664102786553978 0.14503547286990048 0.14123009042869875 0.14642568130839292 0.14054027543784808 0.1463653211957473 C 0.14123009042869875 0.14642568130839292 0.14512704920960354 0.14541573472846805 0.1445643307037198 0.14563889891929818 C 0.14512704920960354 0.14541573472846805 0.14755206785513725 0.14351691020019006 0.14729289750845306 0.14368735090578588 C 0.14755206785513725 0.14351691020019006 0.1477061646435529 0.14358579874767835 0.14767437486392984 0.14359361045214816" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.14767437486392984 0.14359361045214816 C 0.14835413738519987 0.14347020754220177 0.15208269740471364 0.1433339960239612 0.1517529499915501 0.14285319299246987 C 0.15208269740471364 0.1433339960239612 0.14930284423480472 0.14708263458253393 0.1496528593429112 0.1464784286410962" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.1496528593429112 0.1464784286410962 C 0.14939918984363398 0.14681606825337767 0.14579911671264256 0.15095336070947737 0.14660882535158462 0.15053010398847386 C 0.14579911671264256 0.15095336070947737 0.1389062862568372 0.15139561909381702 0.13993635567560644 0.15155750929313846 C 0.1389062862568372 0.15139561909381702 0.13356969010594757 0.1477510696626053 0.13424799232635387 0.1485874215966164 C 0.13356969010594757 0.1477510696626053 0.131592457089429 0.14093244145903774 0.1317967290307309 0.14152128608500533" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.1317967290307309 0.14152128608500533 C 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533 C 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533 C 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533 C 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533 0.1317967290307309 0.14152128608500533" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3263507536782752,0.10903148832768692) rotate(0) scale(1,1) translate(-0.014991016181195468,-0.014142268789137224)"><path d="M 0.02078524622149229 0.01806673936081992 C 0.02061457057783967 0.017898921412471906 0.01824733162484706 0.0157703732356926 0.01873713849766085 0.016052923980643723 C 0.01824733162484706 0.0157703732356926 0.014272637306790495 0.014568128076951212 0.01490756374772682 0.014676130421406459 C 0.014272637306790495 0.014568128076951212 0.010510881075478182 0.014881842509027923 0.011118021206424947 0.014756895847180772 C 0.010510881075478182 0.014881842509027923 0.007330537257194044 0.016293706573271553 0.007621882176365651 0.016175490363572263" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.007621882176365651 0.016175490363572263 C 0.007879957205561072 0.015990271501478654 0.011322826244566405 0.01373276434907562 0.010718782526710694 0.013952864018448953 C 0.011322826244566405 0.01373276434907562 0.01553445224310824 0.01362550322851607 0.014870406790634188 0.013534294331092276 C 0.01553445224310824 0.01362550322851607 0.01918023124230418 0.015425074540011782 0.01868732795639934 0.015047370787534478 C 0.01918023124230418 0.015425074540011782 0.020960072743583368 0.018318353408593707 0.02078524622149229 0.01806673936081992" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g id="睫毛">
<g transform="translate(0.31906783261621086,0.11550449605590302) rotate(0) scale(1,1) translate(-0.008458226300540835,-0.005814600364554201)"><path d="M 0.006881309435412563 0.006607784478302079 C 0.006942796700255931 0.006553089757562226 0.007732171336996527 0.005860607983824342 0.007619156613532975 0.005951447829423852 C 0.007732171336996527 0.005860607983824342 0.00828901357559538 0.005481561206248297 0.008237486116975196 0.005517706331107955" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008237486116975196 0.005517706331107955 C 0.008268897017919111 0.0055230265632719 0.008655957818472825 0.0056180349360479 0.008614416928302194 0.005581549117075294 C 0.008655957818472825 0.0056180349360479 0.008726695742069808 0.006009533291597535 0.00873597679902277 0.005955536158779232 C 0.008726695742069808 0.006009533291597535 0.008483633198686988 0.006252346256904571 0.008503044244866663 0.00622951471089493" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008503044244866663 0.00622951471089493 C 0.008443645647237217 0.006245835671812779 0.007655116505858791 0.006456888722526384 0.007790261073313299 0.006425366241909122 C 0.007655116505858791 0.006456888722526384 0.006805563465587501 0.006622985998001492 0.006881309435412563 0.006607784478302079" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3204655013323764,0.11233689091842863) rotate(0) scale(1,1) translate(-0.008467625202322755,-0.0057241605604554414)"><path d="M 0.005768335948017282 0.005606109695652771 C 0.005913016961596228 0.005594191306647598 0.007706810075141873 0.00544313141060092 0.0075045081109646385 0.005463089027590697 C 0.007706810075141873 0.00544313141060092 0.008253580468742382 0.0053585790637908455 0.008195959518144095 0.005366618291775449" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008195959518144095 0.005366618291775449 C 0.008226383411462474 0.005376106923971231 0.008596937899801864 0.0055237898264141085 0.00856104623796464 0.005480481878124832 C 0.008596937899801864 0.0055237898264141085 0.008604856926992376 0.005940228574719092 0.008626659460190774 0.005886313671246763 C 0.008604856926992376 0.005940228574719092 0.008272145537866612 0.0061475563071716165 0.008299415839583855 0.006127460719792781" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008299415839583855 0.006127460719792781 C 0.008233038492637752 0.00612504161741794 0.007291964351933409 0.006054985572616348 0.007502887676230623 0.0060984314912946825 C 0.007291964351933409 0.006054985572616348 0.00562378997066617 0.005565082879349279 0.005768335948017282 0.005606109695652771" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3185599276748699,0.11354835963665658) rotate(0) scale(1,1) translate(-0.008424859765237935,-0.005691767568661398)"><path d="M 0.005657116783278213 0.0056274858557969175 C 0.005807160148957484 0.005611047308175674 0.007672985150231592 0.005404658310007539 0.007457637171429462 0.005430223284341995 C 0.007672985150231592 0.005404658310007539 0.008306597142026627 0.0053115797370702385 0.008241292528903769 0.005320706163783451" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008241292528903769 0.005320706163783451 C 0.008270071481805717 0.005334388262554727 0.008620817753726766 0.005530045170304738 0.008586639963727159 0.005484891349038764 C 0.008620817753726766 0.005530045170304738 0.008626798540876786 0.005916951015150038 0.00865142600889906 0.0058625520189751505 C 0.008626798540876786 0.005916951015150038 0.008261084042339922 0.0061606065768176 0.008291110347459855 0.006137679303137411" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008291110347459855 0.006137679303137411 C 0.008219554292133694 0.006133575098040034 0.007212938219864128 0.006045912721357176 0.007432437683545932 0.006088428841968883 C 0.007212938219864128 0.006045912721357176 0.0055091733749225704 0.005589073940282587 0.005657116783278213 0.0056274858557969175" fill="none" stroke="#000000" stroke-width="0.001"/>
</g></g>
</svg>