- 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
38 lines
14 KiB
XML
38 lines
14 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.245122456365314 0.235580768030074 0.2389452910220962 0.2582449981683262 0.23984746965066872 0.25531608152015056 C 0.2389452910220962 0.2582449981683262 0.2329450519520436 0.2696271114436592 0.23477585706922943 0.26893364839999273 C 0.2329450519520436 0.2696271114436592 0.2150614667736401 0.2636376380441483 0.2178778082444386 0.2636376380441483 C 0.2150614667736401 0.2636376380441483 0.19914895430246188 0.2682401853563264 0.20097975941964774 0.26893364839999284 C 0.19914895430246188 0.2682401853563264 0.19500596820963584 0.252387164871975 0.1959081468382084 0.2553160815201506 C 0.19500596820963584 0.252387164871975 0.18967407162999128 0.23199252921369645 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.32110341688472954,0.13544916735502502) rotate(0) scale(1,1) translate(-0.020184612282548316,-0.020184612282548316)"><path d="M 0.024406860262124797 0.018812720751604325 C 0.02462431799215053 0.019481986827336033 0.022224793314533378 0.02418990012175727 0.022794105042857154 0.023776270939437814 C 0.022224793314533378 0.02418990012175727 0.017005807793915705 0.023362641757118358 0.01757511952223948 0.023776270939437814 C 0.017005807793915705 0.023362641757118358 0.01617982203299757 0.018143454675872618 0.015962364302971835 0.018812720751604325 C 0.01617982203299757 0.018143454675872618 0.020888320279144397 0.015745078030657306 0.020184612282548316 0.015745078030657306 C 0.020888320279144397 0.015745078030657306 0.02462431799215053 0.019481986827336033 0.024406860262124797 0.018812720751604325 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.32110341688472954,0.13544916735502502) rotate(0) scale(1,1) translate(-0.02639292779899103,-0.02639292779899103)"><path d="M 0.0292679453377158 0.025458777973644302 C 0.0294160168841478 0.025914495334422145 0.02778213001484928 0.029120212610557656 0.02816978635617501 0.02883856379233355 C 0.02778213001484928 0.029120212610557656 0.024228412900481326 0.028556914974109445 0.024616069241807054 0.02883856379233355 C 0.024228412900481326 0.028556914974109445 0.023665981806698252 0.02500306061286646 0.023517910260266256 0.025458777973644302 C 0.023665981806698252 0.02500306061286646 0.026872097388778493 0.023369955462999453 0.02639292779899103 0.023369955462999453 C 0.026872097388778493 0.023369955462999453 0.0294160168841478 0.025914495334422145 0.0292679453377158 0.025458777973644302 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.31819682553667905,0.1369948382874785) rotate(0) scale(1,1) translate(-0.16645487105255777,-0.16447013861067913)"><path d="M 0.16871641407915786 0.16391962988020373 C 0.16844273225693815 0.1658571233386404 0.1643170346600329 0.19200237855290692 0.16543223221252149 0.1871695513814435 C 0.1643170346600329 0.19200237855290692 0.1544925277190259 0.2248088896507913 0.1553340434492948 0.22191355593776455" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1553340434492948 0.22191355593776455 C 0.1551289563389916 0.2218760776172079 0.15246282390505014 0.22138885944997158 0.15287299812565652 0.22146381609108487 C 0.15246282390505014 0.22138885944997158 0.15020686569171504 0.22097659792384838 0.15041195280201825 0.22101407624440503" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.15041195280201825 0.22101407624440503 C 0.15092157017943342 0.21849738137074887 0.15762383252224169 0.1863424586815822 0.15652736133100026 0.19081373776053093 C 0.15762383252224169 0.1863424586815822 0.1641564609107417 0.16540414309172763 0.16356960709691545 0.1673587272970202" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16356960709691545 0.1673587272970202 C 0.1638273719138144 0.16702105468160905 0.16709168548155662 0.16302006446068512 0.1666627848997031 0.16330665591208648 C 0.16709168548155662 0.16302006446068512 0.16888754984411242 0.16397071104421349 0.16871641407915786 0.16391962988020373" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3238231390734107,0.13784587694363365) rotate(0) scale(1,1) translate(-0.17045543472430674,-0.16823329692941572)"><path d="M 0.16836080806223808 0.17149040448169406 C 0.16844225546617653 0.17106634904669185 0.16966167417225403 0.1662748164617323 0.16933817690949943 0.16640173926166757 C 0.16966167417225403 0.1662748164617323 0.17248482507410928 0.17026446351753785 0.17224277521529313 0.1699673308824709" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17224277521529313 0.1699673308824709 C 0.17227943660345554 0.17130086788191304 0.1723844843758243 0.1908963658848116 0.1726827118732422 0.18596977487577643 C 0.1723844843758243 0.1908963658848116 0.16832915636069817 0.23267947700048597 0.16866404524627848 0.22908642299089294" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16866404524627848 0.22908642299089294 C 0.16843081901116302 0.22899529132958438 0.16539887795466204 0.227810579732573 0.16586533042489296 0.22799284305519013 C 0.16539887795466204 0.227810579732573 0.16283338936839195 0.22680813145817869 0.1630666156035074 0.22689926311948727" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1630666156035074 0.22689926311948727 C 0.16324523307134048 0.22403012455290972 0.16565120792239846 0.18785219543407383 0.16521002521750425 0.1924696003205566 C 0.16565120792239846 0.18785219543407383 0.16862337329929922 0.16974213816178885 0.16836080806223808 0.17149040448169406" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.32110341688472954,0.13544916735502502) rotate(0) scale(1,1) translate(-0.16708083618886968,-0.161146472941817)"><path d="M 0.16975659882967203 0.16253078295732162 C 0.16958636607059432 0.16422690819468022 0.166944081943029 0.1878101137339654 0.16771380572073966 0.18288428580562477 C 0.166944081943029 0.1878101137339654 0.15992042247851151 0.22487042078839128 0.16051991349714445 0.22164071809740923" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16051991349714445 0.22164071809740923 C 0.16029641343280063 0.22160129674005302 0.15739091259633076 0.22108881909442227 0.15783791272501843 0.2211676618091347 C 0.15739091259633076 0.22108881909442227 0.15493241188854862 0.22065518416350396 0.15515591195289244 0.22069460552086018" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.15515591195289244 0.22069460552086018 C 0.1554852774063292 0.21744363139266876 0.15985161930589808 0.1767700551126643 0.15910829739413362 0.18168291598256325 C 0.15985161930589808 0.1767700551126643 0.16448973135239364 0.1600783883403652 0.16407577489406594 0.16174027508207273" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16407577489406594 0.16174027508207273 C 0.16434323898542552 0.1615968148027071 0.16775874598501458 0.16008462738595602 0.16728534399038075 0.16001875172968527 C 0.16775874598501458 0.16008462738595602 0.1699625367329463 0.16274011889295797 0.16975659882967203 0.16253078295732162" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g></g>
|
|
<g id="お下げ右">
|
|
<g transform="translate(0.3535834887726123,0.13544916735502496) rotate(0) scale(1,1) translate(-0.020184612282548316,-0.020184612282548316)"><path d="M 0.024406860262124797 0.018812720751604325 C 0.02462431799215053 0.019481986827336033 0.022224793314533378 0.02418990012175727 0.022794105042857154 0.023776270939437814 C 0.022224793314533378 0.02418990012175727 0.017005807793915705 0.023362641757118358 0.01757511952223948 0.023776270939437814 C 0.017005807793915705 0.023362641757118358 0.01617982203299757 0.018143454675872618 0.015962364302971835 0.018812720751604325 C 0.01617982203299757 0.018143454675872618 0.020888320279144397 0.015745078030657306 0.020184612282548316 0.015745078030657306 C 0.020888320279144397 0.015745078030657306 0.02462431799215053 0.019481986827336033 0.024406860262124797 0.018812720751604325 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3535834887726123,0.13544916735502496) rotate(0) scale(1,1) translate(-0.02639292779899103,-0.02639292779899103)"><path d="M 0.0292679453377158 0.025458777973644302 C 0.0294160168841478 0.025914495334422145 0.02778213001484928 0.029120212610557656 0.02816978635617501 0.02883856379233355 C 0.02778213001484928 0.029120212610557656 0.024228412900481326 0.028556914974109445 0.024616069241807054 0.02883856379233355 C 0.024228412900481326 0.028556914974109445 0.023665981806698252 0.02500306061286646 0.023517910260266256 0.025458777973644302 C 0.023665981806698252 0.02500306061286646 0.026872097388778493 0.023369955462999453 0.02639292779899103 0.023369955462999453 C 0.026872097388778493 0.023369955462999453 0.0294160168841478 0.025914495334422145 0.0292679453377158 0.025458777973644302 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.35649008012066286,0.13699483828747847) rotate(0) scale(1,1) translate(-0.16645487105255777,-0.16447013861067913)"><path d="M 0.16419332802595762 0.1639196298802037 C 0.16436446379091219 0.16386854871619394 0.16667585778726587 0.16359324736348785 0.16624695720541235 0.16330665591208648 C 0.16667585778726587 0.16359324736348785 0.16959789982509896 0.16769639991243135 0.1693401350082 0.1673587272970202" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1693401350082 0.1673587272970202 C 0.16992698882202628 0.16931331150231277 0.17747885196535668 0.19528501683947966 0.17638238077411525 0.19081373776053093 C 0.17747885196535668 0.19528501683947966 0.18300740668051235 0.2235307711180612 0.18249778930309718 0.22101407624440503" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.18249778930309718 0.22101407624440503 C 0.182292702192794 0.22105155456496167 0.17962656975885258 0.22153877273219816 0.18003674397945896 0.22146381609108487 C 0.17962656975885258 0.22153877273219816 0.17737061154551748 0.22195103425832122 0.17757569865582068 0.22191355593776457" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17757569865582068 0.22191355593776457 C 0.1767341829255518 0.21901822222473782 0.16636231234010543 0.18233672420998012 0.16747750989259402 0.18716955138144353 C 0.16636231234010543 0.18233672420998012 0.16391964620373792 0.16198213642176704 0.16419332802595762 0.1639196298802037" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.35086376658393126,0.1378458769436336) rotate(0) scale(1,1) translate(-0.17045543472430674,-0.16823329692941572)"><path d="M 0.17255006138637563 0.17149040448169403 C 0.17281262662343677 0.17323867080159924 0.17614202693600356 0.19708700520703934 0.17570084423110935 0.19246960032055657 C 0.17614202693600356 0.19708700520703934 0.17802287131293928 0.22976840168606488 0.17784425384510621 0.22689926311948733" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17784425384510621 0.22689926311948733 C 0.17761102760999076 0.22699039478079588 0.17457908655348972 0.22817510637780725 0.17504553902372064 0.2279928430551901 C 0.17457908655348972 0.22817510637780725 0.17201359796721968 0.22917755465220158 0.17224682420233514 0.229086422990893" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17224682420233514 0.229086422990893 C 0.17191193531675483 0.22549336898129996 0.16792993007795357 0.18104318386674126 0.16822815757537143 0.18596977487577643 C 0.16792993007795357 0.18104318386674126 0.16870475562148302 0.16863379388302874 0.16866809423332058 0.16996733088247087" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.16866809423332058 0.16996733088247087 C 0.1689101440921367 0.16967019824740392 0.17189618980186872 0.1665286620616028 0.17157269253911414 0.16640173926166754 C 0.17189618980186872 0.1665286620616028 0.17263150879031408 0.17191445991669624 0.17255006138637563 0.17149040448169403" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3535834887726123,0.13544916735502496) rotate(0) scale(1,1) translate(-0.16708083618886968,-0.161146472941817)"><path d="M 0.16440507354806735 0.16253078295732162 C 0.16461101145134163 0.16232144702168527 0.16734973038199247 0.15995287607341452 0.16687632838735864 0.16001875172968527 C 0.16734973038199247 0.15995287607341452 0.17035336157503309 0.16188373536143838 0.1700858974836735 0.16174027508207275" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.1700858974836735 0.16174027508207275 C 0.17049985394200118 0.16340216182378028 0.1757966968953702 0.1865957768524622 0.17505337498360574 0.18168291598256325 C 0.1757966968953702 0.1865957768524622 0.17933512587828376 0.2239455796490516 0.179005760424847 0.22069460552086018" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.179005760424847 0.22069460552086018 C 0.17878226036050318 0.2207340268782164 0.17587675952403334 0.22124650452384712 0.176323759652721 0.2211676618091347 C 0.17587675952403334 0.22124650452384712 0.1734182588162511 0.22168013945476545 0.17364175888059494 0.22164071809740923" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.17364175888059494 0.22164071809740923 C 0.173042267861962 0.2184110154064272 0.16567814287928917 0.1779584578772842 0.16644786665699982 0.18288428580562482 C 0.16567814287928917 0.1779584578772842 0.16423484078898964 0.16083465771996303 0.16440507354806735 0.16253078295732162" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g></g>
|
|
</svg>
|