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:
32
SlaveMatrix/Assets/Parts/BackHair1/x0y6.svg
Normal file
32
SlaveMatrix/Assets/Parts/BackHair1/x0y6.svg
Normal file
@@ -0,0 +1,32 @@
|
||||
<?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.027518731894252094 0.03351898730977576 C 0.026652669624412335 0.03351898730977576 0.022755389410133435 0.02376857225954999 0.022322358275213554 0.024518604186490434 C 0.022755389410133435 0.02376857225954999 0.03314813664821053 0.025268636113430876 0.03271510551329065 0.024518604186490434 C 0.03314813664821053 0.025268636113430876 0.026652669624412335 0.03351898730977576 0.027518731894252094 0.03351898730977576 Z" fill="#cccccc" stroke="none" stroke-width="0"/>
|
||||
</g><g id="お下げ左">
|
||||
<g transform="translate(0.3173264160442866,0.08092617853905136) rotate(0) scale(1,1) translate(-0.1719217342075472,-0.16462012712208823)"><path d="M 0.1692143574946937 0.1583730178269807 C 0.16940388556361108 0.15838020904705297 0.17192219077378063 0.15876782849354715 0.17148869432170227 0.15845931246784783 C 0.17192219077378063 0.15876782849354715 0.17466028330279473 0.16237653494099963 0.17441631491963377 0.16207521013537257" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17441631491963377 0.16207521013537257 C 0.17425548895681725 0.1647686024845123 0.17209835261174494 0.20032591247798304 0.17248640336583546 0.19439591832504932 C 0.17209835261174494 0.20032591247798304 0.16953248107927368 0.23647174177437122 0.16975970587054767 0.23323513997057724" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16975970587054767 0.23323513997057724 C 0.16960201080234075 0.23303769735984745 0.16757623712212513 0.23048393710569295 0.1678673650520647 0.23086582864181973 C 0.16757623712212513 0.23048393710569295 0.16613273784954002 0.22846799261165887 0.1662661707112727 0.22865244153705586" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1662661707112727 0.22865244153705586 C 0.16612091004257623 0.2255974443800973 0.16476872491886682 0.18613585701104673 0.16452304268691506 0.19199247565355299 C 0.16476872491886682 0.18613585701104673 0.16960530039534194 0.15557139634143302 0.1692143574946937 0.1583730178269807" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3115978044718174,0.07583439833526574) rotate(0) scale(1,1) translate(-0.1765211324704453,-0.1709985396473049)"><path d="M 0.1734317577722759 0.17517836874503567 C 0.1737811016045039 0.17480221437227078 0.17784601673911646 0.17083393890083706 0.1776238837590119 0.17066451627185714 C 0.17784601673911646 0.17083393890083706 0.17597014268140743 0.17775701729453972 0.17609735353353084 0.1772114402927949" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17609735353353084 0.1772114402927949 C 0.17593348061866307 0.17893463549840072 0.17353556348206053 0.20241625663905766 0.17413087855511766 0.19788978276006486 C 0.17353556348206053 0.20241625663905766 0.16852213049865608 0.2343324055140955 0.16895357265684544 0.23152912684070853" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16895357265684544 0.23152912684070853 C 0.16881872937813605 0.2316232887169701 0.16705363565167683 0.2328354389178642 0.16733545331233274 0.23265906935584726 C 0.16705363565167683 0.2328354389178642 0.16542478634702804 0.23372776927066718 0.16557176072897456 0.23364556158491182" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16557176072897456 0.23364556158491182 C 0.16587282610108403 0.23049615427827644 0.16983954494789658 0.19098040783529777 0.16918454519428813 0.19585267390528743 C 0.16983954494789658 0.19098040783529777 0.17378569215377487 0.17345550998168136 0.1734317577722759 0.17517836874503567" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.31377257459156865,0.0751403693986439) rotate(0) scale(1,1) translate(-0.17316172110145983,-0.17123823809980537)"><path d="M 0.17044156450340722 0.17510778385342177 C 0.1706805433745557 0.17473770963960308 0.17370139227623044 0.17057834817583561 0.1733093109571892 0.17066689328759763 C 0.17370139227623044 0.17057834817583561 0.1752996427797945 0.17432677161433438 0.1751465403319018 0.1740452425122777" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1751465403319018 0.1740452425122777 C 0.17504476583936118 0.17622309817364906 0.1733175004746853 0.20612680882436346 0.1739252464214144 0.20017951044873405 C 0.1733175004746853 0.20612680882436346 0.16734761751696392 0.24918226573408844 0.1678535889711524 0.24541282301983042" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1678535889711524 0.24541282301983042 C 0.16773164805779492 0.24526402002109324 0.16614641618414755 0.2433295810375099 0.16639029801086253 0.24362718703498426 C 0.16614641618414755 0.2433295810375099 0.16480506613721504 0.24169274805140092 0.16492700705057253 0.2418415510501381" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16492700705057253 0.2418415510501381 C 0.16509387774483483 0.238385010499263 0.16738900183612293 0.1948019171732438 0.16692945538172005 0.20036306443963683 C 0.16738900183612293 0.1948019171732438 0.17073424026354783 0.17300317713790384 0.17044156450340722 0.17510778385342177" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></g>
|
||||
<g id="お下げ右">
|
||||
<g transform="translate(0.35736048961305483,0.08092617853905136) rotate(0) scale(1,1) translate(-0.1719217342075472,-0.16462012712208823)"><path d="M 0.1746291109204007 0.1583730178269807 C 0.1750200538210489 0.1611746393125284 0.179566107960131 0.19784909429605924 0.17932042572817924 0.19199247565355299 C 0.179566107960131 0.19784909429605924 0.17743203703512525 0.23170743869401442 0.17757729770382172 0.22865244153705586" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17757729770382172 0.22865244153705586 C 0.17744386484208904 0.22883689046245284 0.17568497543309006 0.2312477201779465 0.17597610336302963 0.23086582864181973 C 0.17568497543309006 0.2312477201779465 0.17392606747633982 0.23343258258130703 0.17408376254454672 0.23323513997057724" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17408376254454672 0.23323513997057724 C 0.17385653775327273 0.22999853816678326 0.17096901429516848 0.1884659241721156 0.171357065049259 0.19439591832504932 C 0.17096901429516848 0.1884659241721156 0.16926632753264412 0.15938181778623284 0.16942715349546064 0.16207521013537257" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16942715349546064 0.16207521013537257 C 0.1696711218786216 0.16177388532974551 0.1727882705454704 0.15815079644214852 0.17235477409339206 0.15845931246784783 C 0.1727882705454704 0.15815079644214852 0.1748186389893181 0.15836582660690846 0.1746291109204007 0.1583730178269807" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3630891011855241,0.07583439833526574) rotate(0) scale(1,1) translate(-0.1706516194801951,-0.1709985396473049)"><path d="M 0.17374099417836453 0.17517836874503567 C 0.1740949285598635 0.17690122750839 0.17864320650996074 0.2007249399752771 0.1779882067563523 0.19585267390528743 C 0.17864320650996074 0.2007249399752771 0.18190205659377537 0.2367949688915472 0.1816009912216659 0.23364556158491182" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1816009912216659 0.23364556158491182 C 0.1814540168397194 0.23356335389915645 0.17955548097765187 0.23248269979383032 0.17983729863830777 0.23265906935584726 C 0.17955548097765187 0.23248269979383032 0.17808433601508555 0.23143496496444696 0.17821917929379497 0.23152912684070853" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17821917929379497 0.23152912684070853 C 0.1777877371356056 0.22872584816732155 0.1724465583224657 0.19336330888107206 0.1730418733955228 0.19788978276006486 C 0.1724465583224657 0.19336330888107206 0.17091152550224184 0.17548824508718908 0.17107539841710961 0.1772114402927949" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17107539841710961 0.1772114402927949 C 0.1709481875649862 0.17666586329105008 0.1697710011717332 0.1704950936428772 0.16954886819162862 0.17066451627185714 C 0.1697710011717332 0.1704950936428772 0.1740903380105925 0.17555452311780056 0.17374099417836453 0.17517836874503567" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.36091433106577275,0.0751403693986439) rotate(0) scale(1,1) translate(-0.16980771367845976,-0.17123823809980537)"><path d="M 0.17252787027651248 0.17510778385342177 C 0.1728205460366531 0.1772123905689397 0.1764995258526025 0.20592421170602987 0.17603997939819963 0.20036306443963683 C 0.1764995258526025 0.20592421170602987 0.1782092984236095 0.2452980916010132 0.1780424277293472 0.2418415510501381" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1780424277293472 0.2418415510501381 C 0.17792048681598968 0.24199035404887528 0.17633525494234217 0.24392479303245862 0.17657913676905715 0.24362718703498426 C 0.17633525494234217 0.24392479303245862 0.17499390489540986 0.2455616260185676 0.17511584580876735 0.24541282301983042" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.17511584580876735 0.24541282301983042 C 0.17460987435457886 0.2416433803055724 0.16843644241177624 0.19423221207310465 0.16904418835850535 0.20017951044873405 C 0.16843644241177624 0.19423221207310465 0.1677211199554773 0.17186738685090636 0.16782289444801793 0.1740452425122777" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.16782289444801793 0.1740452425122777 C 0.16797599689591064 0.17376371341022104 0.17005220514177166 0.17075543839935964 0.16966012382273044 0.17066689328759763 C 0.17005220514177166 0.17075543839935964 0.172766849147661 0.17547785806724045 0.17252787027651248 0.17510778385342177" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.7 KiB |
Reference in New Issue
Block a user