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
This commit is contained in:
41
SlaveMatrix/Assets/Parts/BackHair1/x0y0.svg
Normal file
41
SlaveMatrix/Assets/Parts/BackHair1/x0y0.svg
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
||||
<g transform="translate(0.3373434528286707,0.07847599559563229) rotate(0) scale(1,1) translate(-0.027518731894252097,-0.027518731894252104)"><path d="M 0.03193564947043487 0.030518859602013837 C 0.03156757300575297 0.03126889152895428 0.022733737853387437 0.029768827675073394 0.023101814318069337 0.030518859602013837 C 0.022733737853387437 0.029768827675073394 0.02825488482361589 0.02151847647872851 0.027518731894252097 0.02151847647872851 C 0.02825488482361589 0.02151847647872851 0.03156757300575297 0.03126889152895428 0.03193564947043487 0.030518859602013837 Z" fill="#cccccc" stroke="none" stroke-width="0"/>
|
||||
</g><g id="お下げ">
|
||||
<g transform="translate(0.3373434528286707,0.06806009361139365) rotate(0) scale(1,1) translate(-0.19551282657519264,-0.15529045777044517)"><path d="M 0.19551282657519264 0.25814272740180166 C 0.19534603190350763 0.25619438726620086 0.19319358637842954 0.23029949151492482 0.19351129051497243 0.23476264577459202 C 0.19319358637842954 0.23029949151492482 0.19154946747182008 0.202070062161729 0.19170037693667796 0.2045848762857954" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.19170037693667796 0.2045848762857954 C 0.19163762845397958 0.20289264116759131 0.1909624456468312 0.18007592784100085 0.1909473951442972 0.1842780548673465 C 0.1909624456468312 0.18007592784100085 0.19195878195231855 0.15164946006150598 0.19188098296708614 0.15415935196964756" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.19188098296708614 0.15415935196964756 C 0.19218363660109503 0.15393269090612952 0.1961181338432104 0.1514394192074312 0.19551282657519264 0.1514394192074312 C 0.1961181338432104 0.1514394192074312 0.199447323817308 0.1543860130331656 0.19914467018329912 0.15415935196964756" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.19914467018329912 0.15415935196964756 C 0.19922246916853154 0.15666924387778913 0.20009330850862211 0.18848018189369214 0.20007825800608808 0.1842780548673465 C 0.20009330850862211 0.18848018189369214 0.199262527731009 0.20627711140399946 0.19932527621370738 0.2045848762857954" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.19932527621370738 0.2045848762857954 C 0.1991743667488495 0.20709969040986176 0.19719665849886991 0.23922580003425922 0.1975143626354128 0.23476264577459202 C 0.19719665849886991 0.23922580003425922 0.19534603190350763 0.26009106753740246 0.19551282657519264 0.25814272740180166" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3326696118309858,0.07011170116862092) rotate(0) scale(1,1) translate(-0.17214313748755586,-0.16165585602103322)"><path d="M 0.16860932132744558 0.16286507780244222 C 0.1690227693300489 0.16237213246888835 0.17407817548405316 0.15663687985220115 0.17357069735868547 0.15694973379979577 C 0.17407817548405316 0.15663687985220115 0.17479308895462237 0.1592909218172659 0.174699058831858 0.15911083043130667" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.174699058831858 0.15911083043130667 C 0.17471791275799778 0.16133246092278059 0.1749404727327511 0.1899533202422622 0.17492530594553532 0.18577039632899386 C 0.1749404727327511 0.1899533202422622 0.17487737313952315 0.21126721081232083 0.17488106027844716 0.20930591739052645" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17488106027844716 0.20930591739052645 C 0.17474805935286838 0.21139853443370188 0.1731242652430048 0.23843007095130278 0.17328504917150178 0.23441732190863163 C 0.1731242652430048 0.23843007095130278 0.1729238701335652 0.2593790379020759 0.1729516531364834 0.2574589059025802" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1729516531364834 0.2574589059025802 C 0.17266597487634971 0.2554910444580626 0.16921363603209616 0.22983949033262643 0.16952351401487922 0.23384456856836888 C 0.16921363603209616 0.22983949033262643 0.16920891762043733 0.20736075028244597 0.16923311734308671 0.2093979670736708" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16923311734308671 0.2093979670736708 C 0.1690832371940182 0.20744023065572548 0.16738257255296085 0.18202738928572432 0.16743455555426429 0.1859051300583267 C 0.16738257255296085 0.18202738928572432 0.1687072184752107 0.1609450734477852 0.16860932132744558 0.16286507780244222" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.33086567066180317,0.07016536446291333) rotate(0) scale(1,1) translate(-0.17471347965485204,-0.16839727901127924)"><path d="M 0.17143308199295756 0.17334006114675074 C 0.17177726913436223 0.17268521369121465 0.17599683215638096 0.16500607928166816 0.1755633276898136 0.16548189168031768 C 0.17599683215638096 0.16500607928166816 0.1767244529169285 0.16780934741984285 0.17663513559176583 0.1676303123629563" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17663513559176583 0.1676303123629563 C 0.17656472390798622 0.16911246714768882 0.17564283291197477 0.18814177751947928 0.1757901953864104 0.18541616977974656 C 0.17564283291197477 0.18814177751947928 0.17478983510788196 0.20158105819474914 0.174866785898538 0.20033760523974894" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.174866785898538 0.20033760523974894 C 0.17470251583043672 0.20303910012880994 0.1726764409095374 0.23738971329879183 0.1728955450813227 0.23275554390848094 C 0.1726764409095374 0.23738971329879183 0.17218270173343034 0.2578803124247294 0.17223753583711437 0.2559476379234795" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17223753583711437 0.2559476379234795 C 0.1719745716322893 0.2539647747683947 0.16888450049155349 0.22751911067215033 0.16908196537921347 0.23215328006246122 C 0.16888450049155349 0.22751911067215033 0.16993345650235966 0.19768629900452292 0.16986795718519457 0.20033760523974894" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16986795718519457 0.20033760523974894 C 0.16988831977942448 0.19899836677799426 0.17024273538326692 0.18201694835760962 0.17011230831595334 0.1842667436986928 C 0.17024273538326692 0.18201694835760962 0.17154314646604124 0.17242950426742223 0.17143308199295756 0.17334006114675074" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.32893387565534427,0.0715745449366208) rotate(0) scale(1,1) translate(-0.17582728218728638,-0.17126228311857125)"><path d="M 0.17301102974025206 0.17665820397323162 C 0.17328479787779366 0.17611272362696417 0.17653187463660383 0.17027483830774506 0.1762962473907512 0.1701124398180222 C 0.17653187463660383 0.17027483830774506 0.17580041579879485 0.17931486468589608 0.1758385566904838 0.17860698584990578" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1758385566904838 0.17860698584990578 C 0.1757540973526309 0.1795550293055196 0.174684564183563 0.19190684846287587 0.17482504463624896 0.18998350731727146 C 0.174684564183563 0.19190684846287587 0.17409677014341932 0.20266237728714928 0.17415279125825237 0.20168707959715867" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17415279125825237 0.20168707959715867 C 0.17395544904535878 0.20383526294478282 0.17153210183866274 0.23127353498959025 0.17178468470352937 0.2274652797686486 C 0.17153210183866274 0.23127353498959025 0.17106655622788003 0.24904621412177583 0.17112179687985304 0.24738614224845834" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17112179687985304 0.24738614224845834 C 0.17089843250539577 0.2457542470768323 0.16832076876852686 0.22398276090658228 0.16844142438636592 0.22780340018894582 C 0.16832076876852686 0.22398276090658228 0.16977663822240266 0.19934972674935827 0.16967392946578444 0.20153847086009577" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16967392946578444 0.20153847086009577 C 0.16974766247041426 0.20022820165263433 0.17083681721088123 0.18374188479665324 0.17055872552134227 0.18581524037055858 C 0.17083681721088123 0.18374188479665324 0.1732153884251612 0.17589511760678772 0.17301102974025206 0.17665820397323162" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3420172938263556,0.07011170116862092) rotate(0) scale(1,1) translate(-0.1720805899402084,-0.16165585602103322)"><path d="M 0.17561440610031862 0.16286507780244222 C 0.1757123032480837 0.16478508215709925 0.17673718887219642 0.1897828708309291 0.17678917187349985 0.1859051300583267 C 0.17673718887219642 0.1897828708309291 0.17484072993560892 0.21135570349161614 0.17499061008467745 0.2093979670736708" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17499061008467745 0.2093979670736708 C 0.1749664103620281 0.21143518386489565 0.17439033543010193 0.23784964680411133 0.174700213412885 0.23384456856836888 C 0.17439033543010193 0.23784964680411133 0.17098639603114713 0.2594267673470978 0.1712720742912808 0.2574589059025802" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1712720742912808 0.2574589059025802 C 0.1712442912883626 0.2555387739030845 0.17077789432776544 0.23040457286596047 0.1709386782562624 0.23441732190863163 C 0.17077789432776544 0.23040457286596047 0.16920966622373823 0.20721330034735103 0.169342667149317 0.20930591739052645" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.169342667149317 0.20930591739052645 C 0.169338980010393 0.20734462396873207 0.16931358826944465 0.18158747241572554 0.16929842148222887 0.18577039632899386 C 0.16931358826944465 0.18158747241572554 0.169543522522046 0.15688919993983275 0.1695246685959062 0.15911083043130667" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1695246685959062 0.15911083043130667 C 0.16961869871867058 0.15893073904534744 0.1711605081944464 0.15726258774739038 0.1706530300690787 0.15694973379979577 C 0.1711605081944464 0.15726258774739038 0.17602785410292193 0.1633580231359961 0.17561440610031862 0.16286507780244222" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3438212349955381,0.07016536446291333) rotate(0) scale(1,1) translate(-0.17443583605122104,-0.16839727901127924)"><path d="M 0.17771623371311548 0.17334006114675074 C 0.17782629818619916 0.17425061802607925 0.17916743445743322 0.186516539039776 0.17903700739011963 0.1842667436986928 C 0.17916743445743322 0.186516539039776 0.17930172111510834 0.20167684370150363 0.17928135852087843 0.20033760523974894" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17928135852087843 0.20033760523974894 C 0.17934685783804352 0.20298891147497497 0.17986988543919957 0.2367874494527721 0.18006735032685955 0.23215328006246122 C 0.17986988543919957 0.2367874494527721 0.17664881566413349 0.25793050107856436 0.17691177986895856 0.2559476379234795" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17691177986895856 0.2559476379234795 C 0.17685694576527455 0.2540149634222296 0.17603466645296498 0.22812137451817005 0.17625377062475028 0.23275554390848094 C 0.17603466645296498 0.22812137451817005 0.17411825973943373 0.19763611035068795 0.174282529807535 0.20033760523974894" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.174282529807535 0.20033760523974894 C 0.17420557901687897 0.19909415228474875 0.17321175784522697 0.18269056204001385 0.1733591203196626 0.18541616977974656 C 0.17321175784522697 0.18269056204001385 0.1724437684305276 0.1661481575782238 0.17251418011430722 0.1676303123629563" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17251418011430722 0.1676303123629563 C 0.1726034974394699 0.16745127730606976 0.17401949248282678 0.1659577040789672 0.1735859880162594 0.16548189168031768 C 0.17401949248282678 0.1659577040789672 0.17806042085452015 0.17399490860228684 0.17771623371311548 0.17334006114675074" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.34575303000199686,0.0715745449366208) rotate(0) scale(1,1) translate(-0.17541252126519447,-0.17126228311857125)"><path d="M 0.17822877371222873 0.17665820397323162 C 0.17843313239713787 0.17742129033967552 0.18095916962067754 0.18788859594446392 0.18068107793113858 0.18581524037055858 C 0.18095916962067754 0.18788859594446392 0.1816396069913262 0.2028487400675572 0.18156587398669638 0.20153847086009577" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.18156587398669638 0.20153847086009577 C 0.1816685827433146 0.20372721497083326 0.1826777234482758 0.23162403947130936 0.18279837906611485 0.22780340018894582 C 0.1826777234482758 0.23162403947130936 0.17989464219817047 0.24901803742008438 0.18011800657262772 0.24738614224845834" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.18011800657262772 0.24738614224845834 C 0.1800627659206547 0.24572607037514085 0.1792025358840848 0.22365702454770697 0.1794551187489514 0.2274652797686486 C 0.1792025358840848 0.22365702454770697 0.17688966998133487 0.19953889624953453 0.17708701219422845 0.20168707959715867" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17708701219422845 0.20168707959715867 C 0.1770309910793954 0.20071178190716807 0.17627427836354592 0.18806016617166704 0.17641475881623186 0.18998350731727146 C 0.17627427836354592 0.18806016617166704 0.1753167874241442 0.17765894239429197 0.1754012467619971 0.17860698584990578" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1754012467619971 0.17860698584990578 C 0.17536310587030812 0.17789910701391548 0.17517918330758228 0.16995004132829936 0.17494355606172965 0.1701124398180222 C 0.17517918330758228 0.16995004132829936 0.17850254184977032 0.17720368431949907 0.17822877371222873 0.17665820397323162" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
Reference in New Issue
Block a user