Files
SlaveMatrix-SDL/SlaveMatrix/Assets/Parts/横髪左/x0y2.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

10 lines
2.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.3162111684713726,0.08586243713995967) rotate(0) scale(1,1) translate(-0.16923840088096093,-0.15730043338067493)"><path d="M 0.16883481042307738 0.1699860214880812 C 0.16898510247779558 0.17157298524880216 0.17115276539242677 0.19173262200879315 0.17063831507969587 0.18902958661673255 C 0.17115276539242677 0.19173262200879315 0.17537237243386072 0.20353851782414792 0.17500821417584805 0.20242244619280828" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.17500821417584805 0.20242244619280828 C 0.1745928976839786 0.20224710248516564 0.16937504721294966 0.2000313259101097 0.17002441627341452 0.2003183217010965 C 0.16937504721294966 0.2000313259101097 0.16698173288167414 0.19886684461762213 0.16721578545026955 0.19897849670096632" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.16721578545026955 0.19897849670096632 C 0.16699661492021395 0.19751668730786423 0.1643956261321658 0.17871942550039313 0.1645857390896022 0.1814367839837413 C 0.1643956261321658 0.17871942550039313 0.16496348753365178 0.1651146458105421 0.16493442996103258 0.1663701949007882" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.31345254428663805,0.08804965988261343) rotate(0) scale(1,1) translate(-0.17437021695099683,-0.15706217049170884)"><path d="M 0.1728077283749907 0.17201067847957854 C 0.17287320014310675 0.17303871513688904 0.17397201396094025 0.18664945257583535 0.17359338959238332 0.18434711836730444 C 0.17397201396094025 0.18664945257583535 0.17766437339811472 0.20091298653316986 0.17735122079767385 0.19963868898194945" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.17735122079767385 0.19963868898194945 C 0.17707883584662873 0.1995433527436965 0.1736101673494394 0.198330497726466 0.1740826013851324 0.19849465412291423 C 0.1736101673494394 0.198330497726466 0.17148196328471005 0.19759999206637546 0.17168201236935793 0.19766881222457075" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.17168201236935793 0.19766881222457075 C 0.17149699605459306 0.19646161617405639 0.16928257803847357 0.18091339389237085 0.1694618165921797 0.1831824596183985 C 0.16928257803847357 0.18091339389237085 0.16953692748594315 0.16937815383672586 0.16953114972488442 0.17044002351223914" fill="none" stroke="#000000" stroke-width="0.001"/>
</g></svg>