- 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
15 lines
4.0 KiB
XML
15 lines
4.0 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.2713940939111739,0.1973077704431261) rotate(0) scale(1,1) translate(-0.05619588048696846,-0.05619588048696846)"><path d="M 0.052751193978965834 0.019785594333802187 C 0.0544066216358345 0.019626905169164214 0.0760256453361375 0.016611261914044998 0.07261632586138984 0.01788132435814651 C 0.0760256453361375 0.016611261914044998 0.09541691949381656 0.0034334717251205257 0.09366302767593758 0.004544845004584063" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.09366302767593758 0.004544845004584063 C 0.09435457566527702 0.009236226646682742 0.1043377460686051 0.06688630486161116 0.10196160354801084 0.0608414247097682 C 0.1043377460686051 0.06688630486161116 0.12386133245432357 0.07843690533644392 0.12217673792306874 0.07708340682669963" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.12217673792306874 0.07708340682669963 C 0.11704056083040494 0.07783946295220874 0.05320087378633066 0.08770955909480815 0.060542612811103166 0.08615608033280896 C 0.05320087378633066 0.08770955909480815 0.031870307693689974 0.0965225746071801 0.03407586962579868 0.09572515197069001" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.03407586962579868 0.09572515197069001 C 0.03382467946616694 0.09585284840295312 0.03182271140390358 0.09629346966864168 0.03256872866800826 0.09649133056426865 C 0.03182271140390358 0.09629346966864168 0.029104938936697657 0.0942124292690381 0.0295997660411706 0.09453798659692818" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.0295997660411706 0.09453798659692818 C 0.030688994476186497 0.09332411646158355 0.0395578415787786 0.0849163221527308 0.03613513665126597 0.08725476578486041 C 0.0395578415787786 0.0849163221527308 0.052469472098743086 0.07938275130736555 0.050135995606246354 0.08050732480415053" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.050135995606246354 0.08050732480415053 C 0.05037218235621084 0.08040215259807995 0.05291081784010362 0.07890540477215945 0.052970236605820176 0.07924525833130366 C 0.05291081784010362 0.07890540477215945 0.049127364901966585 0.07619440074134634 0.04942297041764763 0.07642908209441998" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.04942297041764763 0.07642908209441998 C 0.049253742860065175 0.07674785076080262 0.04745165849237472 0.08059415965015587 0.04739223972665816 0.08025430609101165 C 0.04745165849237472 0.08059415965015587 0.05036464192954537 0.0805284096969121 0.050135995606246354 0.08050732480415053" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.050135995606246354 0.08050732480415053 C 0.04780251911374962 0.08163189830093551 0.03271243172375334 0.08959320941699002 0.03613513665126597 0.08725476578486041 C 0.03271243172375334 0.08959320941699002 0.028510537606154705 0.09575185673227281 0.0295997660411706 0.09453798659692818" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.0295997660411706 0.09453798659692818 C 0.028738356174164106 0.09561481558729937 0.023097721264083125 0.10179346253696239 0.024431306839131632 0.1009989605391553 C 0.023097721264083125 0.10179346253696239 0.021126076882837547 0.09902267159120659 0.02159825259087956 0.09930499858377069" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.02159825259087956 0.09930499858377069 C 0.020511436860650687 0.10059864515180023 0.007651307299149679 0.11289546517150835 0.015077358209506323 0.10706687799194788 C 0.007651307299149679 0.11289546517150835 -0.02929728805138807 0.13881146227266447 -0.0229580528712603 0.13427652166113352" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M -0.0229580528712603 0.13427652166113352 C -0.019253285991913952 0.12898172023098195 0.027808253585081367 0.061197993888703776 0.02149914968089586 0.07073890449931472 C 0.027808253585081367 0.061197993888703776 0.05535553100380497 0.01553948515334281 0.052751193978965806 0.019785594333802187" fill="none" stroke="none" stroke-width="0"/>
|
|
</g></svg>
|