Files
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

18 lines
4.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
<g id="獣性">
<g transform="translate(0.3373434528286707,0.16513021119802657) rotate(0) scale(1,1) translate(-0.09807843887568797,-0.09807843887568801)"><path d="M 0.09807843887568794 0.0768868355115205 C 0.09850045508401897 0.07676326799502127 0.1043639771143595 0.07534850541322759 0.10314263337566022 0.07540402531352976 C 0.1043639771143595 0.07534850541322759 0.11353389127044762 0.07628864432409144 0.11273456374007935 0.07622059670789438" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.11273456374007935 0.07622059670789438 C 0.11257035382183779 0.07639778950632627 0.11141074319018417 0.07883239848911211 0.1107640447211806 0.07834691028907703 C 0.11141074319018417 0.07883239848911211 0.12130585375536737 0.08235475050991851 0.12049494536812223 0.08204645510831532" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.12049494536812223 0.08204645510831532 C 0.12019115556301575 0.08230015815211487 0.11706999617213715 0.08581726300740741 0.11684946770684446 0.08509089163390991 C 0.11706999617213715 0.08581726300740741 0.12366560522203361 0.09123557991998334 0.12314128695163444 0.09076291159028538" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.12314128695163444 0.09076291159028538 C 0.12255404211126536 0.0908884122870482 0.1156786593732728 0.09289295385377767 0.11609434886720543 0.09226891995143925 C 0.1156786593732728 0.09289295385377767 0.11832456837087933 0.09874985162392197 0.11815301302444288 0.09825131841834638" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.11815301302444288 0.09825131841834638 C 0.11754931342340275 0.09823267118361245 0.11019515619411849 0.0985103629791573 0.11090861781196135 0.0980275516015393 C 0.11019515619411849 0.0985103629791573 0.10948171159352582 0.10454651356211442 0.10959147361032856 0.10404505494976249" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.10959147361032856 0.10404505494976249 C 0.10905345069861845 0.1039680907810259 0.10217577910858724 0.1044318700778607 0.10313519866980729 0.10312148492492332 C 0.10217577910858724 0.1044318700778607 0.09765704222617799 0.12115702610668502 0.09807843887568794 0.11976967678501105" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.09807843887568794 0.11976967678501105 C 0.09765704222617799 0.11838232746333707 0.09206225952034858 0.10181109977198594 0.09302167908156862 0.10312148492492332 C 0.09206225952034858 0.10181109977198594 0.08602738122933727 0.10412201911849908 0.08656540414104738 0.10404505494976249" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.08656540414104738 0.10404505494976249 C 0.08645564212424464 0.10354359633741056 0.08453479832157171 0.09754474022392129 0.08524825993941457 0.0980275516015393 C 0.08453479832157171 0.09754474022392129 0.07740016512589294 0.09826996565308033 0.07800386472693306 0.0982513184183464" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.07800386472693306 0.0982513184183464 C 0.07817542007336951 0.09775278521277081 0.07964683939023785 0.09164488604910086 0.08006252888417048 0.09226891995143928 C 0.07964683939023785 0.09164488604910086 0.07242834595937239 0.09063741089352255 0.07301559079974147 0.09076291159028538" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.07301559079974147 0.09076291159028538 C 0.07353990907014063 0.09029024326058742 0.07952793850982412 0.08436452026041241 0.07930741004453144 0.08509089163390991 C 0.07952793850982412 0.08436452026041241 0.0753581425781472 0.0817927520645158 0.07566193238325368 0.08204645510831535" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.07566193238325368 0.08204645510831535 C 0.07647284077049882 0.08173815970671215 0.08603953149919888 0.07786142208904195 0.0853928330301953 0.07834691028907703 C 0.08603953149919888 0.07786142208904195 0.08325810409305497 0.0760434039094625 0.08342231401129653 0.07622059670789438" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.08342231401129653 0.07622059670789438 C 0.0842216415416648 0.07615254909169733 0.09423558811441494 0.07545954521383193 0.09301424437571566 0.07540402531352976 C 0.09423558811441494 0.07545954521383193 0.09850045508401897 0.07701040302801972 0.09807843887568794 0.0768868355115205" fill="none" stroke="#000000" stroke-width="0.001"/>
</g></g>
</svg>