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

10 lines
2.9 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.3373434528286707,0.0851831332121245) rotate(0) scale(1,1) translate(-0.37074068533755355,-0.34774879453917806)"><path d="M 0.3512440706122735 0.3814710866087863 C 0.35072645269444197 0.37981373409020963 0.34471822406112906 0.35878276436390927 0.3450326555982956 0.36158285638586585 C 0.34471822406112906 0.35878276436390927 0.3484118394047021 0.3458537180865726 0.347470892166275 0.3478699823453072 C 0.3484118394047021 0.3458537180865726 0.3582631718903601 0.3361459196916798 0.35632402245942024 0.33738768528105073 C 0.3582631718903601 0.3361459196916798 0.37314346248390917 0.332968795272856 0.3707406853375536 0.332968795272856 C 0.37314346248390917 0.332968795272856 0.38709649764662674 0.3386294508704217 0.38515734821568687 0.33738768528105073 C 0.38709649764662674 0.3386294508704217 0.39495142574725917 0.3498862466040418 0.3940104785088321 0.3478699823453072 C 0.39495142574725917 0.3498862466040418 0.3961342835396451 0.3643829484078224 0.3964487150768116 0.36158285638586585 C 0.3961342835396451 0.3643829484078224 0.38971968214500213 0.383128439127363 0.39023730006283364 0.3814710866087863" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.39023730006283364 0.3814710866087863 C 0.3903917451129846 0.38054809812027235 0.39224519783158457 0.368925756250436 0.3920906406646448 0.37039522474661873 C 0.39224519783158457 0.368925756250436 0.39209209818290003 0.363290984646925 0.3920919860661112 0.36383746465459377" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.3920919860661112 0.36383746465459377 C 0.39146736459574744 0.36305784955831255 0.3833038185113359 0.35359037426998396 0.3845965284217466 0.3544820834992192 C 0.3833038185113359 0.35359037426998396 0.37591137870113567 0.3530248597708164 0.3765794671411827 0.3531369539037704" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.3765794671411827 0.3531369539037704 C 0.37609290199088025 0.3531416312147656 0.36976755503694875 0.3531930816357123 0.3707406853375536 0.3531930816357123 C 0.36976755503694875 0.3531930816357123 0.36441533838362195 0.35313227659277524 0.3649019035339244 0.3531369539037704" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.3649019035339244 0.3531369539037704 C 0.3642338150938774 0.35324904803672447 0.35559213234294995 0.3553737927284545 0.35688484225336065 0.3544820834992192 C 0.35559213234294995 0.3553737927284545 0.34876476313863236 0.364617079750875 0.3493893846089961 0.36383746465459377" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.3493893846089961 0.36383746465459377 C 0.34938949672578495 0.36438394466226254 0.34954528717740213 0.37186469324280147 0.34939073001046234 0.37039522474661873 C 0.34954528717740213 0.37186469324280147 0.3513985156624244 0.3823940750973003 0.3512440706122735 0.3814710866087863" fill="none" stroke="#000000" stroke-width="0.001"/>
</g></svg>