- 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
33 lines
12 KiB
XML
33 lines
12 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.3373434528286707,0.07847599559563229) rotate(0) scale(1,1) translate(-0.2178778082444383,-0.21061995408824444)"><path d="M 0.2456020006120999 0.23378664862188522 C 0.24529247248894492 0.23493027155705123 0.24082127081227234 0.24972370812541383 0.24188766313423996 0.2475101238438775 C 0.24082127081227234 0.24972370812541383 0.2308044715076716 0.262207331506811 0.23280529274848838 0.26034966000032117 C 0.2308044715076716 0.262207331506811 0.21538989416043028 0.26980218192175565 0.2178778082444386 0.26980218192175565 C 0.21538989416043028 0.26980218192175565 0.200949502499572 0.2584919884938314 0.2029503237403888 0.2603496600003213 C 0.200949502499572 0.2584919884938314 0.19280156103266954 0.2452965395623412 0.19386795335463716 0.24751012384387755 C 0.19280156103266954 0.2452965395623412 0.18984408775362221 0.23264302568671918 0.1901536158767772 0.23378664862188522" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1901536158767772 0.23378664862188522 C 0.1904631439999322 0.23264302568671918 0.19502312803662308 0.2180823603714842 0.1938679533546372 0.22006317339989281 C 0.19502312803662308 0.2180823603714842 0.20601653330142475 0.20887326934581574 0.20401571206060795 0.21001689228098178 C 0.20601653330142475 0.20887326934581574 0.22018815760841043 0.20633969817790035 0.21787780824443864 0.20633969817790035 C 0.22018815760841043 0.20633969817790035 0.2337407256690861 0.21116051521614781 0.23173990442826933 0.21001689228098178 C 0.2337407256690861 0.21116051521614781 0.24304283781622593 0.22204398642830142 0.24188766313424004 0.22006317339989281 C 0.24304283781622593 0.22204398642830142 0.2459115287352549 0.23493027155705126 0.2456020006120999 0.23378664862188522" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g id="お下げ">
|
|
<g transform="translate(0.33734345282867095,0.12379564176882465) rotate(0) scale(1,1) translate(-0.08512163657345904,-0.0749625261910107)"><path d="M 0.09005188720557471 0.09752048584487923 C 0.08984235155370979 0.09786185809875456 0.08692528659637469 0.10195832514525849 0.08753745938319572 0.10161695289138316 C 0.08692528659637469 0.10195832514525849 0.08209364097690133 0.10127558063750783 0.08270581376372237 0.10161695289138316 C 0.08209364097690133 0.10127558063750783 0.07998185028947846 0.0971791135910039 0.08019138594134338 0.09752048584487923" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.08019138594134338 0.09752048584487923 C 0.0797580372298141 0.09633877917856025 0.07439556154822781 0.08146017587789582 0.07499120140299209 0.08334000584905153 C 0.07439556154822781 0.08146017587789582 0.07288141654093705 0.07426440288617396 0.07304370768417205 0.0749625261910107" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.09719956546274605 0.0749625261910107 C 0.09703727431951105 0.07566064949584743 0.09465643188916172 0.08521983582020724 0.095252071743926 0.08334000584905153 C 0.09465643188916172 0.08521983582020724 0.08961853849404543 0.0987021925111982 0.09005188720557471 0.09752048584487923" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33734345282867095,0.14635360142269319) rotate(0) scale(1,1) translate(-0.020184612282548316,-0.020184612282548316)"><path d="M 0.024875998926522182 0.018660288359277216 C 0.025117618626550778 0.019403917332312448 0.02245148009586505 0.024634932103891602 0.02308404868289147 0.024175344123536648 C 0.02245148009586505 0.024634932103891602 0.01665260729517875 0.023715756143181693 0.017285175882205166 0.024175344123536648 C 0.01665260729517875 0.023715756143181693 0.015734845338603046 0.017916659386241984 0.01549322563857445 0.018660288359277216 C 0.015734845338603046 0.017916659386241984 0.02096651005654396 0.015251796447113858 0.020184612282548316 0.015251796447113858 C 0.02096651005654396 0.015251796447113858 0.025117618626550778 0.019403917332312448 0.024875998926522182 0.018660288359277216 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33734345282867095,0.14635360142269319) rotate(0) scale(1,1) translate(-0.02639292779899103,-0.02639292779899103)"><path d="M 0.029587391730907443 0.025354983548605776 C 0.029751915671387442 0.025861336171692267 0.027936485816611307 0.02942324425628728 0.028367215084751006 0.029110301124927164 C 0.027936485816611307 0.02942324425628728 0.023987911245091358 0.028797357993567047 0.024418640513231057 0.029110301124927164 C 0.023987911245091358 0.028797357993567047 0.023362987807554615 0.024848630925519286 0.023198463867074616 0.025354983548605776 C 0.023362987807554615 0.024848630925519286 0.026925338454310433 0.023034069647889278 0.02639292779899103 0.023034069647889278 C 0.026925338454310433 0.023034069647889278 0.029751915671387442 0.025861336171692267 0.029587391730907443 0.025354983548605776 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33462791861878816,0.1480956690654119) rotate(0) scale(1,1) translate(-0.17511680917575018,-0.16435363338213985)"><path d="M 0.17045771017840197 0.17179139215453834 C 0.1708738774882951 0.1709840663919501 0.17575714835275313 0.1627323169144776 0.17545171789711952 0.16210348300347938 C 0.17575714835275313 0.1627323169144776 0.17401213879174576 0.18077355876010354 0.1741228756460053 0.17933739908651705" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1741228756460053 0.17933739908651705 C 0.1740118127292563 0.18050175362466098 0.17235322180806556 0.19672834667364383 0.17279012064501764 0.1933096535442443 C 0.17235322180806556 0.19672834667364383 0.16855425368237736 0.2226160552305671 0.16888008960258047 0.2203617166393115" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16888008960258047 0.2203617166393115 C 0.16865911747153112 0.22039553863161424 0.16581545520730448 0.22085019634320066 0.1662284240299884 0.22076758054694437 C 0.16581545520730448 0.22085019634320066 0.16373246703873912 0.22140189999834053 0.16392446373037367 0.22135310619438697" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16392446373037367 0.22135310619438697 C 0.16411052852687527 0.21884640227152402 0.16670167849239534 0.1871425162833776 0.166157241288393 0.19127265912003166 C 0.16670167849239534 0.1871425162833776 0.17081608258590272 0.17016795324074724 0.17045771017840197 0.17179139215453834" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3357587548170266,0.14602207844009965) rotate(0) scale(1,1) translate(-0.17325291340394497,-0.15344617203421773)"><path d="M 0.1692213227159484 0.1701225047993188 C 0.16937845090847287 0.16891197830636917 0.17144205458344575 0.15411569613485862 0.17110686102624198 0.15559618688392324 C 0.17144205458344575 0.15411569613485862 0.17342171076707275 0.15208665155442852 0.17324364540239345 0.1523566158105435" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17324364540239345 0.1523566158105435 C 0.17325337103962474 0.15498770822142294 0.17324394074265137 0.18895137392223904 0.1733603530491689 0.18392972474109695 C 0.17324394074265137 0.18895137392223904 0.17172055978043402 0.21500696275451128 0.17184669772418285 0.21261640598424864" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17184669772418285 0.21261640598424864 C 0.17166678272870411 0.21259018462356133 0.16929340578061278 0.21225825605253898 0.16968771777843822 0.21230174965600088 C 0.16929340578061278 0.21225825605253898 0.1669005567479307 0.21207721049993133 0.16711495375027743 0.21209448274270593" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16711495375027743 0.21209448274270593 C 0.16716615229687934 0.2100187594432462 0.1679048670566395 0.18368813832057349 0.16772933630950027 0.1871858031491891 C 0.1679048670566395 0.18368813832057349 0.16934565491648573 0.16870056327016295 0.1692213227159484 0.1701225047993188" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.34005898703855375,0.14815850514496687) rotate(0) scale(1,1) translate(-0.17111434553592714,-0.16435363338213985)"><path d="M 0.175836113066247 0.1725090918429462 C 0.1761614844877434 0.17405434289937605 0.18026754962793917 0.19510281303055135 0.17974057012420405 0.19105210452010457 C 0.18026754962793917 0.19510281303055135 0.18236147519330698 0.22362305142232436 0.1821598671110683 0.22111759396830746" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1821598671110683 0.22111759396830746 C 0.1819693856348123 0.22108917647647827 0.17946928869203166 0.22074444253521214 0.17987408939599636 0.22077658406635714 C 0.17946928869203166 0.22074444253521214 0.17708793943578297 0.22072817155525182 0.1773022586634917 0.2207318955945676" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1773022586634917 0.2207318955945676 C 0.1770020053935634 0.2186741475956782 0.17326725463742793 0.19260632882857054 0.17369921942435199 0.1960389196078946 C 0.17326725463742793 0.19260632882857054 0.1719869697034074 0.1781659634622441 0.17211868122040314 0.17954080624267874" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17211868122040314 0.17954080624267874 C 0.1720079676532261 0.178081090994584 0.17109990440143236 0.161438247065564 0.1707901184142787 0.16202422326554172 C 0.17109990440143236 0.161438247065564 0.17625661262057768 0.17338283089106324 0.175836113066247 0.1725090918429462" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33892815084031536,0.14602207844009965) rotate(0) scale(1,1) translate(-0.17278203532867167,-0.15344617203421773)"><path d="M 0.17692369406603495 0.17037402859944953 C 0.1770367846808982 0.17177351735095206 0.17846985189992104 0.19057062997653096 0.17828078144439394 0.18716789361747982 C 0.17846985189992104 0.19057062997653096 0.17926851937302407 0.2132101125156117 0.17919253953236022 0.2112068649080631" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17919253953236022 0.2112068649080631 C 0.17901236548154625 0.21127010858520984 0.17666050046961174 0.21211056554424162 0.17703045092259256 0.21196578903382415 C 0.17666050046961174 0.21211056554424162 0.1745633576944235 0.2130257158663433 0.17475313409659035 0.2129441830330726" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17475313409659035 0.2129441830330726 C 0.1746056467060215 0.2112749803786534 0.17281729125722764 0.18786322565545904 0.17298328540976407 0.1929137511800421 C 0.17281729125722764 0.18786322565545904 0.17274269750418567 0.14895655386791243 0.17276120426615324 0.15233787673807625" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17276120426615324 0.15233787673807625 C 0.17293410540930318 0.15260337294374643 0.17518289213394256 0.15702684386123297 0.1748360179839524 0.15552383120611854 C 0.17518289213394256 0.15702684386123297 0.17709766707287516 0.17161154504889378 0.17692369406603495 0.17037402859944953" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33734345282867095,0.14635360142269319) rotate(0) scale(1,1) translate(-0.19551282657519264,-0.15725534279570835)"><path d="M 0.1979845055614551 0.21623133241981204 C 0.19780169879657322 0.21623133241981204 0.19542521085310852 0.21623133241981204 0.19579082438287232 0.21623133241981204 C 0.19542521085310852 0.21623133241981204 0.19341433643940764 0.21623133241981204 0.19359714320428953 0.21623133241981204" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.19359714320428953 0.21623133241981204 C 0.19350952404184166 0.21406955724028312 0.19257252303472408 0.18525694119626746 0.19254571325491515 0.1902900302654651 C 0.19257252303472408 0.18525694119626746 0.19403328950425355 0.15296294969977184 0.19391886056199675 0.15583426358944055" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.19391886056199675 0.15583426358944055 C 0.19405169106309642 0.15577138044738847 0.1957759793220528 0.15507810429544341 0.19551282657519264 0.1550796658848157 C 0.1957759793220528 0.15507810429544341 0.19720701577007904 0.15587684606965307 0.19707669352431856 0.15581552451697328" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.19707669352431856 0.15581552451697328 C 0.19720491164081702 0.1586931709199526 0.19869096192539487 0.19538193201129497 0.19861531092230017 0.19034728135272508 C 0.19869096192539487 0.19538193201129497 0.19793193844805135 0.21838833667540264 0.1979845055614551 0.21623133241981204" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g></g>
|
|
</svg>
|