Files
SlaveMatrix-SDL/SlaveMatrix/Assets/Parts/獣性瞼左/x1y1.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.13460562065393775 0.1336900036301274 0.13385560803748547 0.13457252039513456 C 0.13460562065393775 0.1336900036301274 0.1419803629113017 0.13082619305892967 0.1407968804281583 0.13093108490491925 C 0.1419803629113017 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.15115267583644057 0.1436510054487902 0.1517531538128812 0.14285273333873974 C 0.15115267583644057 0.1436510054487902 0.14696117438184814 0.14334865719226053 0.14764574287199572 0.14327781092747185" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.14764574287199572 0.14327781092747185 C 0.14745930308497132 0.14301637032324907 0.14489791409241706 0.1397754868613156 0.14540846542770286 0.14014052367679858 C 0.14489791409241706 0.1397754868613156 0.14080601636386525 0.13884919266701476 0.14151912684856613 0.13889736914167625 C 0.14080601636386525 0.13884919266701476 0.13623327901645493 0.13986946596651723 0.13685113961129222 0.13956240598086064 C 0.13623327901645493 0.13986946596651723 0.13387593805212106 0.14283372921861298 0.13410479971051883 0.1425820889695551" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.13410479971051883 0.1425820889695551 C 0.13415828969009563 0.1426466394620286 0.13489381458203778 0.14350258940350347 0.13474667946544056 0.1433566948792373 C 0.13489381458203778 0.14350258940350347 0.13596406624670598 0.1444141672925419 0.13587042110968556 0.14433282326074923" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.13587042110968556 0.14433282326074923 C 0.13618011595380713 0.1444005765951929 0.1403070438684973 0.14520116250657503 0.13958675923914463 0.14514586327407333 C 0.1403070438684973 0.14520116250657503 0.1451446715256173 0.14485718219116078 0.14451383666191767 0.14499641405076966 C 0.1451446715256173 0.14485718219116078 0.14741776978771348 0.1433318640318253 0.14715677760354032 0.14347508095876677 C 0.14741776978771348 0.1433318640318253 0.14768648997770034 0.14326137175819728 0.14764574287199572 0.14327781092747185" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.14764574287199572 0.14327781092747185 C 0.14833027739192145 0.1432070412716382 0.15208746940336934 0.14338662927807394 0.1517529499915501 0.14285319299246987 C 0.15208746940336934 0.14338662927807394 0.1493028442348047 0.14708263458253393 0.14965285934291117 0.1464784286410962" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.14965285934291117 0.1464784286410962 C 0.14939918984363396 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.32588449103078504,0.10825672161350267) rotate(0) scale(1,1) translate(-0.014991016181195468,-0.014142268789137224)"><path d="M 0.021044888996724298 0.017652994492077113 C 0.020862922722053756 0.017497491070871986 0.018352970229166987 0.015539258172341358 0.018861293700677774 0.015786953437615603 C 0.018352970229166987 0.015539258172341358 0.01430409368385205 0.014617202282220475 0.01494500733859484 0.014680651308786182 C 0.01430409368385205 0.014617202282220475 0.010573384514198314 0.015192559371489216 0.011170329843764294 0.015025565118827135 C 0.010573384514198314 0.015192559371489216 0.007499274512139651 0.016822833775889817 0.007781663383803085 0.016684582340731148" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.007781663383803085 0.016684582340731148 C 0.008026189540507642 0.016481812258478445 0.011324166603032107 0.013993353205950153 0.010715977264257768 0.014251341353698736 C 0.011324166603032107 0.013993353205950153 0.015748725731280153 0.013633389815711558 0.015079935449095146 0.013588724567748157 C 0.015748725731280153 0.013633389815711558 0.019238540112780297 0.015126013489620286 0.018741460650477867 0.014787324329259539 C 0.019238540112780297 0.015126013489620286 0.0212368413589115 0.017891800338978577 0.021044888996724298 0.017652994492077113" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g id="睫毛">
<g transform="translate(0.3195250274489656,0.11596237075196786) rotate(0) scale(1,1) translate(-0.008417252494995203,-0.005828091228850773)"><path d="M 0.006164900812255962 0.006495858791770877 C 0.006289174475563697 0.00643797713853432 0.007834602498797336 0.005719007694179028 0.0076561847719487765 0.005801278952932193 C 0.007834602498797336 0.005719007694179028 0.008360057597979509 0.0054842140812162935 0.008305913534438682 0.005508603686732901" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008305913534438682 0.005508603686732901 C 0.008334083932351622 0.005519087069181168 0.008676007595802804 0.005675561944128777 0.008643958309393955 0.005634404276112109 C 0.008676007595802804 0.005675561944128777 0.00867235806935804 0.006050898312664756 0.008690504971344878 0.006002495702932919 C 0.00867235806935804 0.006050898312664756 0.008404169695069148 0.006232963917057578 0.008426195485551896 0.006215235592894142" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008426195485551896 0.006215235592894142 C 0.008368261084000501 0.006219861191323464 0.0075425414441604825 0.006294128040619064 0.007730982666935143 0.006270742774046003 C 0.0075425414441604825 0.006294128040619064 0.006034393991032697 0.006514618459914617 0.006164900812255962 0.006495858791770877" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3213176433843211,0.11137645156155954) rotate(0) scale(1,1) translate(-0.008380251738491874,-0.0057170889593407765)"><path d="M 0.004982582893138069 0.0050129319675996905 C 0.005196621958829715 0.005033849423970919 0.007825249503790347 0.005289623526662749 0.007551051681437815 0.005263941444054438 C 0.007825249503790347 0.005289623526662749 0.008333115518029349 0.005325881585136517 0.008272956761368461 0.005321116958899434" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008272956761368461 0.005321116958899434 C 0.008301644443457986 0.00533754170723299 0.008642669237072026 0.00556985221139952 0.008617208946442759 0.005518213938902116 C 0.008642669237072026 0.00556985221139952 0.008544322260587359 0.005990497185416706 0.008578480248919666 0.005940776228868284 C 0.008544322260587359 0.005990497185416706 0.008176382489583028 0.006129372849867765 0.008207313086455077 0.006114865417483189" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008207313086455077 0.006114865417483189 C 0.008140628516383565 0.006097547308506989 0.00713837072948719 0.005815220322278492 0.00740709824559694 0.005907048109768784 C 0.00713837072948719 0.005815220322278492 0.0047805399470998294 0.0049384222890856 0.004982582893138069 0.0050129319675996905" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3191092569690599,0.11300946860532957) rotate(0) scale(1,1) translate(-0.008355584567489648,-0.005692421788338555)"><path d="M 0.004891485552021816 0.005830740100749716 C 0.005104689226155863 0.005801030338930282 0.007727702620389915 0.0054323135130189435 0.007449929641630373 0.005474222958916502 C 0.007727702620389915 0.0054323135130189435 0.008289330601761813 0.005315627065900896 0.008224761297136318 0.005327826749979019" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008224761297136318 0.005327826749979019 C 0.008254060729313006 0.005340073183304798 0.008612529226508023 0.005518100012992155 0.008576354483256578 0.005474783949888373 C 0.008612529226508023 0.005518100012992155 0.008636938821571821 0.00590294342331295 0.008658858216153661 0.005847619507224401 C 0.008636938821571821 0.00590294342331295 0.008284527042617909 0.006162925229261507 0.008313321748274505 0.00613867094295096" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.008313321748274505 0.00613867094295096 C 0.008241898584704912 0.006137998974062893 0.007171090769084999 0.0061049464127773834 0.007456243785439389 0.006130607316294154 C 0.007171090769084999 0.0061049464127773834 0.004677755699237019 0.005805751166121012 0.004891485552021816 0.005830740100749716" fill="none" stroke="#000000" stroke-width="0.001"/>
</g></g>
</svg>