- 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
22 lines
9.1 KiB
XML
22 lines
9.1 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
|
<g id="鰭耳3">
|
|
<g transform="translate(0.3212277245246915,0.1226636822386536) rotate(0) scale(1,1) translate(-0.034870077655601586,-0.03487007765560158)"><path d="M 0.013965138325244361 0.04423015780296386 C 0.014515596569520787 0.04399290751142117 0.02129139588886483 0.04108845490270626 0.020570637256561476 0.04138315430445152 C 0.02129139588886483 0.04108845490270626 0.02300469932621482 0.04037805493256649 0.022614241912884615 0.0406937649820208 C 0.02300469932621482 0.04037805493256649 0.02564557147989915 0.036896749342188596 0.02525612621652392 0.03759463371099982 C 0.02564557147989915 0.036896749342188596 0.02754754915260789 0.031805225513526963 0.027287585073387383 0.03231915255628612 C 0.02754754915260789 0.031805225513526963 0.028466371008318544 0.03135320558469031 0.028375695167169993 0.03142750919788999" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.028375695167169993 0.03142750919788999 C 0.029158516997130658 0.03130271825028213 0.038820370159703244 0.02987728817311963 0.03776955712669796 0.029930017826595705 C 0.038820370159703244 0.02987728817311963 0.041253442766278 0.030866814650308886 0.04098545156323338 0.030794753356177103" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.04098545156323338 0.030794753356177103 C 0.04074107741517068 0.031065335777905927 0.03738026844583901 0.03454258182213933 0.03805296178648095 0.03404174241692297 C 0.03738026844583901 0.03454258182213933 0.031899775872209386 0.03733176224839684 0.03291313147553014 0.03680482621877345 C 0.031899775872209386 0.03733176224839684 0.024617679071560164 0.04088823094370586 0.025892694546631855 0.040364974772403694 C 0.024617679071560164 0.04088823094370586 0.016618982756220906 0.0434059988602795 0.017612945774669864 0.04308390027439949 C 0.016618982756220906 0.0434059988602795 0.013661154371125583 0.04432567926367756 0.013965138325244375 0.04423015780296386" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.10612783870950109,-0.09627626348585348)"><path d="M 0.08719858406386324 0.10985193345050863 C 0.08718042794959488 0.109791658421087 0.09956487824833353 0.10553189971224952 0.09799407228074654 0.10616388741803295 C 0.09956487824833353 0.10553189971224952 0.10736551033511953 0.10150199362568559 0.10604825567490711 0.10226808098110744 C 0.10736551033511953 0.10150199362568559 0.11452412659253414 0.09661123419486563 0.1138011282032955 0.09697083915297065 C 0.11452412659253414 0.09661123419486563 0.11415456788233597 0.09848004208195801 0.11472423634577074 0.0979528214838472 C 0.11415456788233597 0.09848004208195801 0.10558908241759454 0.10404201685423761 0.10696510664207819 0.1032974863303005 C 0.10558908241759454 0.10404201685423761 0.09656473543711573 0.10743339169777648 0.09821194565196698 0.10688718777109246 C 0.09656473543711573 0.10743339169777648 0.08718042794959488 0.109791658421087 0.08719858406386324 0.10985193345050863 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g></g>
|
|
<g id="鰭耳1">
|
|
<g transform="translate(0.31900262476952534,0.11381641444374678) rotate(0) scale(1,1) translate(-0.034870077655601586,-0.03487007765560158)"><path d="M 0.01296239371709594 0.03189941624251841 C 0.013230180824485464 0.03184864683876024 0.01696538607273313 0.03120978072018356 0.01617583900577021 0.031290183397420436 C 0.01696538607273313 0.03120978072018356 0.023771519068757314 0.03100616474612204 0.022436958520650953 0.03093458411567593 C 0.023771519068757314 0.03100616474612204 0.033563683358944094 0.0324629093392034 0.03219056558304656 0.0321491509627737 C 0.033563683358944094 0.0324629093392034 0.03985968200824519 0.03514276593059258 0.03891437183142137 0.0346996846328323 C 0.03985968200824519 0.03514276593059258 0.043919280694391626 0.03769666336115245 0.043534287704932374 0.03746612653589705" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.043534287704932374 0.03746612653589705 C 0.0433056365520658 0.03760980537533079 0.03984028580083226 0.039409559043127464 0.04079047387053344 0.03919027260910188 C 0.03984028580083226 0.039409559043127464 0.03141049395168365 0.04017317133879596 0.03213203086851825 0.040097563744204104" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.03213203086851825 0.040097563744204104 C 0.031747143285378455 0.03977333919437584 0.02666151755666063 0.03562652814134722 0.02751337987084074 0.0362068691462649 C 0.02666151755666063 0.03562652814134722 0.02094996223120306 0.03285383981285812 0.021909683098356898 0.03313347168519201 C 0.02094996223120306 0.03285383981285812 0.015408916053509544 0.03278772084066477 0.015996729464994683 0.03285128667825819 C 0.015408916053509544 0.03278772084066477 0.014603060848210343 0.0322913590977593 0.014855922160535238 0.03237068163407095 C 0.014603060848210343 0.0322913590977593 0.012804599680142659 0.03186014412655568 0.012962393717095934 0.031899416242518394" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.10612783870950109,-0.09627626348585348)"><path d="M 0.08787862493854064 0.08702493155879586 C 0.08913823554836617 0.08703268771951021 0.10425683722505728 0.08794375871637715 0.10206703668376749 0.08754395432098726 C 0.10425683722505728 0.08794375871637715 0.11510257008794099 0.09230313321991744 0.11415623143401818 0.0918225843034745 C 0.11510257008794099 0.09230313321991744 0.11235660917923096 0.09308244897478717 0.11342310053084116 0.09331054131830258 C 0.11235660917923096 0.09308244897478717 0.09922994883494304 0.08863915183738989 0.10135833521469581 0.08908547618128951 C 0.09922994883494304 0.08863915183738989 0.08668191181973844 0.08781843287576768 0.087882463973808 0.08795464919150722 C 0.08668191181973844 0.08781843287576768 0.08695138944625558 0.0873734039230224 0.08695170936586119 0.08745088039241501 C 0.08695138944625558 0.0873734039230224 0.08913823554836617 0.08703268771951021 0.08787862493854064 0.08702493155879586 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g></g>
|
|
<g id="鰭耳2">
|
|
<g transform="translate(0.3185288958966655,0.1188012526737346) rotate(0) scale(1,1) translate(-0.034870077655601586,-0.03487007765560158)"><path d="M 0.0209730250598607 0.036847852532286555 C 0.021000099075285755 0.03678082021855953 0.02157832611636225 0.03584018978647005 0.021297913244961365 0.03604346476756222 C 0.02157832611636225 0.03584018978647005 0.024833213747906233 0.03407559935211826 0.02433797951667132 0.034408552759180554 C 0.024833213747906233 0.03407559935211826 0.027351004638086464 0.03173391405654066 0.027240724019780345 0.03204802388281476 C 0.027351004638086464 0.03173391405654066 0.025441317520208298 0.030377124980779505 0.025661346936344767 0.030639234843891347 C 0.025441317520208298 0.030377124980779505 0.02451195636695923 0.02875799474893777 0.02460037102614273 0.028902705525472663" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.02460037102614273 0.028902705525472663 C 0.02548785324257125 0.029342056965483712 0.03555657182786911 0.035095653521335944 0.03525015762328495 0.034174922805605246 C 0.03555657182786911 0.035095653521335944 0.02769627346930828 0.04043285338996068 0.02827734148115264 0.039951474114241034" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.02827734148115264 0.039951474114241034 C 0.028311164516911017 0.0398494196152326 0.028749910585641986 0.03852614127875247 0.02868321791025319 0.03872682012613979 C 0.028749910585641986 0.03852614127875247 0.028808874449009165 0.0374815163255228 0.02907765358581821 0.03754332794559323 C 0.028808874449009165 0.0374815163255228 0.024895876734660448 0.037982976064948513 0.025457868268544685 0.03798508068529469 C 0.024895876734660448 0.037982976064948513 0.021960018245150356 0.03742330348868837 0.022333755179207354 0.03751807250143905 C 0.021960018245150356 0.03742330348868837 0.02085963088324848 0.03679200086819054 0.0209730250598607 0.036847852532286576" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.10749409176529023,-0.09496693764072228)"><path d="M 0.09282068087692193 0.09677202830592249 C 0.09362082700288579 0.09659581498248533 0.10401537714418563 0.09474113813558363 0.10224608181050371 0.09502711789868878 C 0.10401537714418563 0.09474113813558363 0.11506194072576914 0.09333279322756546 0.11405222488110502 0.09334027114866066 C 0.11506194072576914 0.09333279322756546 0.11339765233844018 0.09517480297030098 0.1143626719464732 0.09493738284554651 C 0.11339765233844018 0.09517480297030098 0.10067925772968296 0.0963902341276708 0.10247198958470881 0.09618931264571437 C 0.10067925772968296 0.0963902341276708 0.09203091791234874 0.09742780439020868 0.09284988968616302 0.09734844062902365 C 0.09203091791234874 0.09742780439020868 0.09264189423150063 0.09709364341967633 0.09264432829893739 0.09714167777993475 C 0.09264189423150063 0.09709364341967633 0.09362082700288579 0.09659581498248533 0.09282068087692193 0.09677202830592249 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g></g>
|
|
</svg>
|