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:
38
SlaveMatrix/Assets/Parts/ドリル/x2y4.svg
Normal file
38
SlaveMatrix/Assets/Parts/ドリル/x2y4.svg
Normal file
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
||||
<g transform="translate(0.5097530339487796,0.20630514609350628) rotate(0) scale(1,1) translate(-0.1337825169929114,-0.14905370265981344)"><path d="M 0.13378251699291144 0.14482937674100038 C 0.13404397669633625 0.14482937674100038 0.13557823376475409 0.14506481371129426 0.1353512752134604 0.14500713572379698 C 0.13557823376475409 0.14506481371129426 0.13667496873163335 0.14563290121395525 0.13650601960843545 0.14552151259096774 C 0.13667496873163335 0.14563290121395525 0.13748784460404556 0.14651326847017956 0.13737866469183532 0.14634379919964705 C 0.13748784460404556 0.14651326847017956 0.13786103080795817 0.14774761761732838 0.13781617855495837 0.14755514383735796 C 0.13786103080795817 0.14774761761732838 0.13791841660497528 0.14880829851669541 0.13791689172783306 0.14865348455929206 C 0.13791841660497528 0.14880829851669541 0.13782052872335365 0.14952952767661037 0.13783447708066499 0.14941291132619805 C 0.13782052872335365 0.14952952767661037 0.13768629595004367 0.15014070669796017 0.13774951144009692 0.15005288076424006 C 0.13768629595004367 0.15014070669796017 0.13686701416082908 0.15051727086869524 0.137075891200026 0.15046682253083937 C 0.13686701416082908 0.15051727086869524 0.1348468332877392 0.15067421400914974 0.13524298696973394 0.15065826081851047 C 0.1348468332877392 0.15067421400914974 0.13192589333409419 0.1506423076278712 0.13232204701608893 0.15065826081851047 C 0.13192589333409419 0.1506423076278712 0.13028026574659995 0.15041637419298345 0.13048914278579687 0.15046682253083932 C 0.13028026574659995 0.15041637419298345 0.1297523070556727 0.14996505483051994 0.12981552254572595 0.15005288076424006 C 0.1297523070556727 0.14996505483051994 0.12971660854784656 0.1492962949757857 0.1297305569051579 0.14941291132619802 C 0.12971660854784656 0.1492962949757857 0.12964966713513204 0.14849867060188873 0.12964814225798982 0.14865348455929206 C 0.12964966713513204 0.14849867060188873 0.1297937076838643 0.14736267005738754 0.1297488554308645 0.14755514383735796 C 0.1297937076838643 0.14736267005738754 0.1302955492061978 0.14617432992911453 0.13018636929398755 0.14634379919964705 C 0.1302955492061978 0.14617432992911453 0.13122796350058546 0.14541012396798023 0.13105901437738754 0.14552151259096774 C 0.13122796350058546 0.14541012396798023 0.13244071732365623 0.1449494577362997 0.13221375877236258 0.14500713572379698 C 0.13244071732365623 0.1449494577362997 0.13404397669633625 0.14482937674100038 0.13378251699291144 0.14482937674100038 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.51385394593149,0.20405070123413213) rotate(0) scale(1,1) translate(-0.02205677125180655,-0.022056771251806547)"><path d="M 0.021859617289228903 0.021320554593784024 C 0.021959709878796887 0.021327047225390607 0.02254232627963558 0.021783559793160375 0.022480838228646573 0.02168605621194707 C 0.02254232627963558 0.021783559793160375 0.02256213498636029 0.02259626159152171 0.022597473901096964 0.022490597568343675 C 0.02256213498636029 0.02259626159152171 0.021946959022867644 0.02295525784863358 0.022056771251806495 0.02295402449008347 C 0.021946959022867644 0.02295525784863358 0.02121497347899944 0.022393241216160393 0.021279727153830752 0.022505397870945007 C 0.02121497347899944 0.022393241216160393 0.021328051331780597 0.021509407692904672 0.021279727153830752 0.021608144632668087 C 0.021328051331780597 0.021509407692904672 0.021959709878796887 0.021327047225390607 0.021859617289228903 0.021320554593784024 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5113866309497893,0.20456172553143676) rotate(0) scale(1,1) translate(-0.02205677125180655,-0.022056771251806547)"><path d="M 0.022056771251806495 0.021159518013529627 C 0.02218627860146911 0.021159518013529627 0.02289856902461343 0.0217203012874527 0.022833815349782127 0.021608144632668087 C 0.02289856902461343 0.0217203012874527 0.022769061674950825 0.02261755452572962 0.022833815349782127 0.022505397870945007 C 0.022769061674950825 0.02261755452572962 0.02192726390214388 0.02295402449008347 0.022056771251806495 0.02295402449008347 C 0.02192726390214388 0.02295402449008347 0.02121497347899944 0.022393241216160393 0.021279727153830752 0.022505397870945007 C 0.02121497347899944 0.022393241216160393 0.021344480828662065 0.021495987977883473 0.021279727153830752 0.021608144632668087 C 0.021344480828662065 0.021495987977883473 0.02218627860146911 0.021159518013529627 0.022056771251806495 0.021159518013529627 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5080251143342787,0.20580727670283896) rotate(0) scale(1,1) translate(-0.02205677125180655,-0.022056771251806547)"><path d="M 0.022056771251806495 0.021159518013529627 C 0.02218627860146911 0.021159518013529627 0.02289856902461343 0.0217203012874527 0.022833815349782127 0.021608144632668087 C 0.02289856902461343 0.0217203012874527 0.022769061674950825 0.02261755452572962 0.022833815349782127 0.022505397870945007 C 0.022769061674950825 0.02261755452572962 0.02192726390214388 0.02295402449008347 0.022056771251806495 0.02295402449008347 C 0.02192726390214388 0.02295402449008347 0.02121497347899944 0.022393241216160393 0.021279727153830752 0.022505397870945007 C 0.02121497347899944 0.022393241216160393 0.021344480828662065 0.021495987977883473 0.021279727153830752 0.021608144632668087 C 0.021344480828662065 0.021495987977883473 0.02218627860146911 0.021159518013529627 0.022056771251806495 0.021159518013529627 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5058027631524435,0.20741209100424426) rotate(0) scale(1,1) translate(-0.02205677125180655,-0.022056771251806547)"><path d="M 0.022056771251806495 0.021159518013529627 C 0.02218627860146911 0.021159518013529627 0.02289856902461343 0.0217203012874527 0.022833815349782127 0.021608144632668087 C 0.02289856902461343 0.0217203012874527 0.022769061674950825 0.02261755452572962 0.022833815349782127 0.022505397870945007 C 0.022769061674950825 0.02261755452572962 0.02192726390214388 0.02295402449008347 0.022056771251806495 0.02295402449008347 C 0.02192726390214388 0.02295402449008347 0.02121497347899944 0.022393241216160393 0.021279727153830752 0.022505397870945007 C 0.02121497347899944 0.022393241216160393 0.021344480828662065 0.021495987977883473 0.021279727153830752 0.021608144632668087 C 0.021344480828662065 0.021495987977883473 0.02218627860146911 0.021159518013529627 0.022056771251806495 0.021159518013529627 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g id="ユニット">
|
||||
<g transform="translate(0.5097530339487796,0.21240670353037858) rotate(0) scale(1,1) translate(-0.015096514070287396,-0.015096514070287394)"><path d="M 0.01963528837722331 0.011008981811404472 C 0.01963528837722331 0.011349609499644716 0.01963528837722331 0.01633222578297031 0.01963528837722331 0.015096514070287394 C 0.01963528837722331 0.01633222578297031 0.01963528837722331 0.02673260638804211 0.01963528837722331 0.02583752236359944" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.01963528837722331 0.02583752236359944 C 0.01952450702587112 0.026078382511814012 0.01792768096875239 0.029068471830414562 0.01830591216099705 0.02872784414217432 C 0.01792768096875239 0.029068471830414562 0.014561614388502453 0.02992505462248236 0.015096514070287396 0.02992505462248236 C 0.014561614388502453 0.02992505462248236 0.01150888478733308 0.028387216453934078 0.011887115979577739 0.02872784414217432 C 0.01150888478733308 0.028387216453934078 0.010446958411999292 0.025596662215384876 0.01055773976335148 0.025837522363599447" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.01055773976335148 0.025837522363599447 C 0.01055773976335148 0.024942438339156776 0.010557739763351481 0.01386080235760448 0.010557739763351481 0.015096514070287394 C 0.010557739763351481 0.01386080235760448 0.01055773976335148 0.010668354123164232 0.01055773976335148 0.011008981811404476" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.01055773976335148 0.011008981811404476 C 0.010668521114703667 0.010768121663189903 0.012265347171822392 0.0077780323445893525 0.011887115979577733 0.008118660032829596 C 0.012265347171822392 0.0077780323445893525 0.015631413752072335 0.006921449552521554 0.01509651407028739 0.006921449552521554 C 0.015631413752072335 0.006921449552521554 0.01868414335324171 0.008459287721069837 0.01830591216099705 0.008118660032829593 C 0.01868414335324171 0.008459287721069837 0.019746069728575497 0.011249841959619046 0.01963528837722331 0.011008981811404472" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5097530339487796,0.2214849598695595) rotate(0) scale(1,1) translate(-0.015096514070287394,-0.025837522363599444)"><path d="M 0.01055773976335148 0.025837522363599486 C 0.010668521114703667 0.025596662215384914 0.012265347171822398 0.0226065728967844 0.011887115979577739 0.02294720058502464 C 0.012265347171822398 0.0226065728967844 0.01563141375207234 0.021749990104716566 0.015096514070287396 0.021749990104716566 C 0.01563141375207234 0.021749990104716566 0.01868414335324171 0.023287828273264883 0.01830591216099705 0.02294720058502464 C 0.01868414335324171 0.023287828273264883 0.019746069728575497 0.026078382511814057 0.01963528837722331 0.025837522363599486" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5097530339487796,0.22314771182369061) rotate(0) scale(1,1) translate(-0.015096514070287394,-0.025837522363599444)"><path d="M 0.01055773976335148 0.025837522363599486 C 0.010668521114703667 0.025596662215384914 0.012265347171822398 0.0226065728967844 0.011887115979577739 0.02294720058502464 C 0.012265347171822398 0.0226065728967844 0.01563141375207234 0.021749990104716566 0.015096514070287396 0.021749990104716566 C 0.01563141375207234 0.021749990104716566 0.01868414335324171 0.023287828273264883 0.01830591216099705 0.02294720058502464 C 0.01868414335324171 0.023287828273264883 0.019746069728575497 0.026078382511814057 0.01963528837722331 0.025837522363599486" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5112549851839616,0.20933269191410353) rotate(0) scale(1,1) translate(-0.02637903879901621,-0.02637903879901622)"><path d="M 0.027442367311398805 0.025765125796155128 C 0.02753097802076402 0.0259186040468704 0.02735375660203359 0.02714643005259259 0.027442367311398805 0.026992951801877316 C 0.02735375660203359 0.02714643005259259 0.026201817380285777 0.027606864804738413 0.02637903879901621 0.027606864804738413 C 0.026201817380285777 0.027606864804738413 0.025227099577268403 0.026839473551162042 0.025315710286633618 0.026992951801877316 C 0.025227099577268403 0.026839473551162042 0.025404320995998833 0.025611647545439854 0.025315710286633618 0.025765125796155128 C 0.025404320995998833 0.025611647545439854 0.026556260217746645 0.025151212793294034 0.02637903879901621 0.025151212793294034 C 0.026556260217746645 0.025151212793294034 0.02753097802076402 0.0259186040468704 0.027442367311398805 0.025765125796155128 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5112549851839616,0.21336074227008214) rotate(0) scale(1,1) translate(-0.02637903879901621,-0.02637903879901622)"><path d="M 0.027442367311398805 0.025765125796155128 C 0.02753097802076402 0.0259186040468704 0.02735375660203359 0.02714643005259259 0.027442367311398805 0.026992951801877316 C 0.02735375660203359 0.02714643005259259 0.026201817380285777 0.027606864804738413 0.02637903879901621 0.027606864804738413 C 0.026201817380285777 0.027606864804738413 0.025227099577268403 0.026839473551162042 0.025315710286633618 0.026992951801877316 C 0.025227099577268403 0.026839473551162042 0.025404320995998833 0.025611647545439854 0.025315710286633618 0.025765125796155128 C 0.025404320995998833 0.025611647545439854 0.026556260217746645 0.025151212793294034 0.02637903879901621 0.025151212793294034 C 0.026556260217746645 0.025151212793294034 0.02753097802076402 0.0259186040468704 0.027442367311398805 0.025765125796155128 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5076299353542716,0.20903464994665932) rotate(0) scale(1,1) translate(-0.010730129621974588,-0.01073012962197459)"><path d="M 0.011384977632547637 0.010099072010076876 C 0.011384977632547637 0.010151660144401685 0.011384977632547637 0.010835305890624208 0.011384977632547637 0.01073012962197459 C 0.011384977632547637 0.010835305890624208 0.011384977632547637 0.011413775368197111 0.011384977632547637 0.011361187233872302" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.011384977632547637 0.011361187233872302 C 0.011330406964999883 0.011361187233872302 0.010620988286879079 0.011361187233872302 0.010730129621974588 0.011361187233872302 C 0.010620988286879079 0.011361187233872302 0.010020710943853785 0.011361187233872303 0.010075281611401539 0.011361187233872303" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.011361187233872303 C 0.010075281611401539 0.011308599099547494 0.010075281611401539 0.010624953353324971 0.010075281611401539 0.01073012962197459 C 0.010075281611401539 0.010624953353324971 0.010075281611401539 0.010046483875752067 0.010075281611401539 0.010099072010076876" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.010099072010076876 C 0.010129852278949292 0.010099072010076876 0.010839270957070097 0.010099072010076876 0.010730129621974588 0.010099072010076876 C 0.010839270957070097 0.010099072010076876 0.01143954830009539 0.010099072010076876 0.011384977632547637 0.010099072010076876" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5076299353542716,0.20966570755855704) rotate(0) scale(1,1) translate(-0.010730129621974588,-0.008817833828345154)"><path d="M 0.011384977632547637 0.008817833828345154 C 0.011384977632547637 0.008870421962669963 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.009448891440242867 C 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.01013253718646539 0.011384977632547637 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.011384977632547637 0.010079949052140581 C 0.011330406964999883 0.010079949052140581 0.010620988286879079 0.010079949052140581 0.010730129621974588 0.010079949052140581 C 0.010620988286879079 0.010079949052140581 0.010020710943853785 0.010079949052140581 0.010075281611401539 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.010079949052140581 C 0.010075281611401539 0.010027360917815772 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.009448891440242867 C 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.008765245694020344 0.010075281611401539 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.008817833828345154 C 0.010129852278949292 0.008817833828345154 0.010839270957070097 0.008817833828345154 0.010730129621974588 0.008817833828345154 C 0.010839270957070097 0.008817833828345154 0.01143954830009539 0.008817833828345154 0.011384977632547637 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5076299353542716,0.21092782278235248) rotate(0) scale(1,1) translate(-0.010730129621974588,-0.008817833828345154)"><path d="M 0.011384977632547637 0.008817833828345154 C 0.011384977632547637 0.008870421962669963 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.009448891440242867 C 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.01013253718646539 0.011384977632547637 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.011384977632547637 0.010079949052140581 C 0.011330406964999883 0.010079949052140581 0.010620988286879079 0.010079949052140581 0.010730129621974588 0.010079949052140581 C 0.010620988286879079 0.010079949052140581 0.010020710943853785 0.010079949052140581 0.010075281611401539 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.010079949052140581 C 0.010075281611401539 0.010027360917815772 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.009448891440242867 C 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.008765245694020344 0.010075281611401539 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.008817833828345154 C 0.010129852278949292 0.008817833828345154 0.010839270957070097 0.008817833828345154 0.010730129621974588 0.008817833828345154 C 0.010839270957070097 0.008817833828345154 0.01143954830009539 0.008817833828345154 0.011384977632547637 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5076299353542716,0.2121899380061479) rotate(0) scale(1,1) translate(-0.010730129621974588,-0.008817833828345154)"><path d="M 0.011384977632547637 0.008817833828345154 C 0.011384977632547637 0.008870421962669963 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.009448891440242867 C 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.01013253718646539 0.011384977632547637 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.011384977632547637 0.010079949052140581 C 0.011330406964999883 0.010079949052140581 0.010620988286879079 0.010079949052140581 0.010730129621974588 0.010079949052140581 C 0.010620988286879079 0.010079949052140581 0.010020710943853785 0.010079949052140581 0.010075281611401539 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.010079949052140581 C 0.010075281611401539 0.010027360917815772 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.009448891440242867 C 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.008765245694020344 0.010075281611401539 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.008817833828345154 C 0.010129852278949292 0.008817833828345154 0.010839270957070097 0.008817833828345154 0.010730129621974588 0.008817833828345154 C 0.010839270957070097 0.008817833828345154 0.01143954830009539 0.008817833828345154 0.011384977632547637 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.5076299353542716,0.21345205322994334) rotate(0) scale(1,1) translate(-0.010730129621974588,-0.008817833828345154)"><path d="M 0.011384977632547637 0.008817833828345154 C 0.011384977632547637 0.008870421962669963 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.009448891440242867 C 0.011384977632547637 0.009554067708892486 0.011384977632547637 0.01013253718646539 0.011384977632547637 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.011384977632547637 0.010079949052140581 C 0.011330406964999883 0.010079949052140581 0.010620988286879079 0.010079949052140581 0.010730129621974588 0.010079949052140581 C 0.010620988286879079 0.010079949052140581 0.010020710943853785 0.010079949052140581 0.010075281611401539 0.010079949052140581" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.010079949052140581 C 0.010075281611401539 0.010027360917815772 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.009448891440242867 C 0.010075281611401539 0.009343715171593249 0.010075281611401539 0.008765245694020344 0.010075281611401539 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010075281611401539 0.008817833828345154 C 0.010129852278949292 0.008817833828345154 0.010839270957070097 0.008817833828345154 0.010730129621974588 0.008817833828345154 C 0.010839270957070097 0.008817833828345154 0.01143954830009539 0.008817833828345154 0.011384977632547637 0.008817833828345154" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
Reference in New Issue
Block a user