Files
SlaveMatrix-SDL/SlaveMatrix/Assets/Parts/涙左/x0y3.svg
REDCODE 58f3bf6884 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
2026-06-13 17:56:01 +02:00

13 lines
7.1 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.32179486240125915,0.11852408616215224) rotate(0) scale(1,1) translate(-0.031658722905473495,-0.026737473081403652)"><path d="M 0.03230825930363457 0.026737473081403652 C 0.03229756550651961 0.026903783056205863 0.03216923994114016 0.02906553713469937 0.03217993373825512 0.02873319277903018 C 0.03216923994114016 0.02906553713469937 0.03217993373825512 0.030891639730300905 0.03217993373825512 0.030725605349433926" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.03217993373825512 0.030725605349433926 C 0.032173690599119016 0.030826122754754572 0.03207990930824733 0.03210615820923854 0.03210501606862193 0.03193181421328169 C 0.03207990930824733 0.03210615820923854 0.031820792297811144 0.03291907748804251 0.031878652613759884 0.03281773330091617 C 0.031820792297811144 0.03291907748804251 0.031332037462372 0.03314353495583405 0.03141069227723703 0.03314794445879775 C 0.031332037462372 0.03314353495583405 0.030879580221209013 0.032655482854103815 0.03093479483537953 0.032764819265351845 C 0.030879580221209013 0.032655482854103815 0.030741860771986002 0.031661839121799734 0.030748116907190814 0.03183590752382136 C 0.030741860771986002 0.031661839121799734 0.030869021571732713 0.030579339350864966 0.030859721212921798 0.03067599844109238" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.030859721212921798 0.03067599844109238 C 0.03086368976558912 0.030514097969253865 0.03090359501498252 0.02840498233238945 0.030907343844929658 0.02873319277903018 C 0.03090359501498252 0.02840498233238945 0.0308070178709417 0.02657116310660144 0.030814735253556158 0.026737473081403652" 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>