- 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
13 lines
3.5 KiB
XML
13 lines
3.5 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.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.061780495912221296,-0.0594468243068542)"><path d="M 0.06862705994470455 0.06299227376910739 C 0.06848172239149025 0.06309076572466177 0.06642969426248219 0.06419222515254841 0.06688300930613286 0.06417417723575995 C 0.06642969426248219 0.06419222515254841 0.06287930193046001 0.06312840473180295 0.06318727942089639 0.06320884877056887" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.06318727942089639 0.06320884877056887 C 0.06284794072932944 0.06315937041316473 0.05824638036194449 0.062381334914819 0.05911521512209297 0.06261510848171918 C 0.05824638036194449 0.062381334914819 0.052231766230532994 0.060219270758270674 0.05276126229911453 0.06040356596776671" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.05276126229911453 0.06040356596776671 C 0.05213921754977668 0.05955514789326019 0.04926332363711161 0.05428661746420479 0.049028993803087416 0.05531305752072756 C 0.04926332363711161 0.05428661746420479 0.05502361588662176 0.054066903646613866 0.054167241303259714 0.054244925628630106" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.054167241303259714 0.054244925628630106 C 0.05447027487589727 0.05420392742185675 0.058300677978867406 0.0536853946659348 0.05780364417491039 0.05375294714734986 C 0.058300677978867406 0.0536853946659348 0.06032564718206335 0.05340774157700771 0.06013164695074389 0.05343429585164941" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.06013164695074389 0.05343429585164941 C 0.06029659545088334 0.05342829075449048 0.062450871797280205 0.05344713766140114 0.06211102895241731 0.05336223468574223 C 0.062450871797280205 0.05344713766140114 0.06438465543382207 0.054544039632374204 0.06420976108909864 0.05445313155955636" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.06420976108909864 0.05445313155955636 C 0.06437445334689579 0.05457445407916188 0.06649970404164977 0.05618623065747431 0.06618606818266454 0.055909001794822555 C 0.06649970404164977 0.05618623065747431 0.06812233499810955 0.05793578425442367 0.06797339139692146 0.057779877911377425" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.06797339139692146 0.057779877911377425 C 0.06808887972021957 0.05801470057508669 0.06941372365548071 0.06103211619736609 0.06935925127649878 0.0605977498758886 C 0.06941372365548071 0.06103211619736609 0.06856604400038838 0.06319181742687563 0.06862705994470455 0.06299227376910739" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3165723717312919,0.11743651645668077) rotate(0) scale(1,1) translate(-0.005607832739230754,-0.005607832739230756)"><path d="M 0.002459394356840056 0.003219456230356307 C 0.0027961876950441792 0.0032367008814259608 0.007073369478985321 0.0035937434701964685 0.006500914415289536 0.003426392043192156 C 0.007073369478985321 0.0035937434701964685 0.009564516846681134 0.005377780130342716 0.009328855121189472 0.005227673354408058" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M -0.004906174827528371 0.004391776241839239 C -0.004722454835720654 0.004356269876241451 -0.002087737493805075 0.0038680065203755432 -0.002701534925835777 0.003965699854665787 C -0.002087737493805075 0.0038680065203755432 0.002889471797063039 0.0031572692616638524 0.0024593943568400533 0.003219456230356309" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g></svg>
|