- 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
10 lines
5.4 KiB
XML
10 lines
5.4 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.32179486240125915,0.11852408616215224) rotate(0) scale(1,1) translate(-0.03183549677252445,-0.026737473081403652)"><path d="M 0.03242598440721639 0.025256683108510092 C 0.03241626277347553 0.025669317011704343 0.03229960316858517 0.030910158588821787 0.03230932480232603 0.030208289946841084 C 0.03229960316858517 0.030910158588821787 0.03230932480232603 0.033968341551064964 0.03230932480232603 0.03367910681227851" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.03230932480232603 0.03367910681227851 C 0.03230304792543452 0.03382372418167173 0.032210576656155974 0.03566499987644324 0.03223400227962794 0.03541451524499722 C 0.032210576656155974 0.03566499987644324 0.03198764295061009 0.03682953975902401 0.0320282173206625 0.03668492238963079 C 0.03198764295061009 0.03682953975902401 0.03170025859205505 0.03714992367771593 0.03174710983899898 0.03714992367771593 C 0.03170025859205505 0.03714992367771593 0.03142542798728303 0.03654030502023757 0.031466002357335446 0.036684922389630795 C 0.03142542798728303 0.03654030502023757 0.03123679177489805 0.0351640306135512 0.03126021739837001 0.035414515244997224 C 0.03123679177489805 0.0351640306135512 0.03117861799878041 0.033534489442885285 0.031184894875671918 0.03367910681227851" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.031184894875671918 0.03367910681227851 C 0.031184894875671918 0.033389872073492054 0.031175173241931056 0.029460480658423736 0.031184894875671918 0.030208289946841084 C 0.031175173241931056 0.029460480658423736 0.031058513637040687 0.02424682080163942 0.03106823527078155 0.024705395351270316" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3257456317518053,0.1130072566562324) rotate(0) scale(1,1) translate(-0.03699750906922831,-0.03140123513122939)"><path d="M 0.034858972739754045 0.035340890745325815 C 0.03507254644946907 0.035433826608160704 0.03560962423526243 0.03626090884888946 0.03560962423526243 0.03612947769123751 C 0.03560962423526243 0.03626090884888946 0.03464539903003902 0.037011000499984126 0.034858972739754045 0.03691806463714923 C 0.03464539903003902 0.037011000499984126 0.032744700881836786 0.03724470804525624 0.0330467397186821 0.03724470804525624 C 0.032744700881836786 0.03724470804525624 0.03102093298789524 0.036825128774314334 0.03123450669761026 0.03691806463714923 C 0.03102093298789524 0.036825128774314334 0.030483855202101836 0.03599804653358556 0.030483855202101836 0.03612947769123751 C 0.030483855202101836 0.03599804653358556 0.03144808040732528 0.035247954882490926 0.03123450669761026 0.035340890745325815 C 0.03144808040732528 0.035247954882490926 0.03334877855552741 0.03501424733721882 0.0330467397186821 0.03501424733721882 C 0.03334877855552741 0.03501424733721882 0.03507254644946907 0.035433826608160704 0.034858972739754045 0.035340890745325815 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3208887458907232,0.11757217751218701) rotate(0) scale(1,1) translate(-0.035892672400159885,-0.029633496460719853)"><path d="M 0.038064718185359475 0.02898898081787531 C 0.03825052731281155 0.029069835018541667 0.03871778498645176 0.0297893965679757 0.03871778498645176 0.029675051460818502 C 0.03871778498645176 0.0297893965679757 0.0378789090579074 0.030441976304428044 0.038064718185359475 0.030361122103761688 C 0.0378789090579074 0.030441976304428044 0.036225301668971456 0.030645301868814787 0.03648807545702688 0.030645301868814787 C 0.036225301668971456 0.030645301868814787 0.03472562360124232 0.03028026790309533 0.03491143272869438 0.030361122103761688 C 0.03472562360124232 0.03028026790309533 0.034258365927602084 0.029560706353661304 0.034258365927602084 0.029675051460818502 C 0.034258365927602084 0.029560706353661304 0.03509724185614645 0.028908126617208953 0.03491143272869438 0.02898898081787531 C 0.03509724185614645 0.028908126617208953 0.03675084924508231 0.028704801052822214 0.03648807545702688 0.028704801052822214 C 0.03675084924508231 0.028704801052822214 0.03825052731281155 0.029069835018541667 0.038064718185359475 0.02898898081787531 Z" fill="#cccccc" stroke="none" stroke-width="0"/>
|
|
</g><g transform="translate(0.3208887458907232,0.11757217751218701) rotate(0) scale(1,1) translate(-0.03644509073469413,-0.02989129168350248)"><path d="M 0.0363916077318048 0.029282931620400535 C 0.03643475261119917 0.029326592888760366 0.03654324984301842 0.029715156125454743 0.03654324984301842 0.029653409767589855 C 0.03654324984301842 0.029715156125454743 0.036348462852410425 0.03006754918313901 0.0363916077318048 0.030023887914779175 C 0.036348462852410425 0.03006754918313901 0.0359644952166995 0.03017734498790785 0.036025511290285965 0.03017734498790785 C 0.0359644952166995 0.03017734498790785 0.03561626996937279 0.02998022664641934 0.03565941484876716 0.030023887914779175 C 0.03561626996937279 0.02998022664641934 0.03550777273755352 0.029591663409724966 0.03550777273755352 0.029653409767589855 C 0.03550777273755352 0.029591663409724966 0.03570255972816153 0.029239270352040703 0.03565941484876716 0.029282931620400535 C 0.03570255972816153 0.029239270352040703 0.03608652736387243 0.029129474547271862 0.036025511290285965 0.029129474547271862 C 0.03608652736387243 0.029129474547271862 0.03643475261119917 0.029326592888760366 0.0363916077318048 0.029282931620400535 Z" fill="#cccccc" stroke="none" stroke-width="0"/>
|
|
</g></svg>
|