- 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
11 lines
4.5 KiB
XML
11 lines
4.5 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.10039800795060094) rotate(0) scale(1,1) translate(-0.3475222203821665,-0.3680988677069331)"><path d="M 0.350989197665384 0.3680988677069331 C 0.3509045764873811 0.3683031613025317 0.34968482875574786 0.37083930562771733 0.3499737435293493 0.3705503908541159 C 0.34968482875574786 0.37083930562771733 0.3471136331909694 0.37156584499015055 0.3475222203821665 0.37156584499015055 C 0.3471136331909694 0.37156584499015055 0.34478178246138225 0.37026147608051446 0.34507069723498374 0.3705503908541159 C 0.34478178246138225 0.37026147608051446 0.3439706219209461 0.3678945741113345 0.34405524309894897 0.3680988677069331" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.34405524309894897 0.3680988677069331 C 0.3440949828296797 0.36767206749001613 0.3446299015192369 0.36219972799697026 0.34453211986771787 0.362977265103929 C 0.3446299015192369 0.36219972799697026 0.3453287748619242 0.3580437232817838 0.3452286229171775 0.35876842242342805 C 0.3453287748619242 0.3580437232817838 0.3458008429741125 0.35372471820841067 0.3457339432046787 0.35428087540419795 C 0.3458008429741125 0.35372471820841067 0.34618044324850705 0.351096834402307 0.3460314201503831 0.35209453607398045 C 0.34618044324850705 0.351096834402307 0.3477706870874638 0.34230845534411664 0.3475222203821665 0.34230845534411664 C 0.3477706870874638 0.34230845534411664 0.34916204371207404 0.3530922377456539 0.34901302061395006 0.35209453607398045 C 0.34916204371207404 0.3530922377456539 0.34937739732908824 0.3548370325999852 0.34931049755965443 0.35428087540419795 C 0.34937739732908824 0.3548370325999852 0.3499159697919024 0.35949312156507224 0.3498158178471557 0.358768422423428 C 0.3499159697919024 0.35949312156507224 0.3506101025481343 0.3637548022108878 0.35051232089661527 0.362977265103929 C 0.3506101025481343 0.3637548022108878 0.35102893739611474 0.3685256679238501 0.350989197665384 0.3680988677069331" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33734345282867073,0.0978372066490989) rotate(0) scale(1,1) translate(-0.008085864862602469,-0.00808586486260247)"><path d="M 0.011279071188065133 0.0075239462241114136 C 0.011012970660943245 0.007737802694939945 0.007553663808358693 0.010090223874053797 0.00808586486260247 0.010090223874053797 C 0.007553663808358693 0.010090223874053797 0.004626558010017918 0.007310089753282884 0.004892658537139807 0.007523946224111415" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33734345282867073,0.09292339575680603) rotate(0) scale(1,1) translate(-0.008085864862602469,-0.00808586486260247)"><path d="M 0.010716607154719483 0.008186848225552485 C 0.010497378630376399 0.008378607962999648 0.007647407813916301 0.01048796507491844 0.00808586486260247 0.01048796507491844 C 0.007647407813916301 0.01048796507491844 0.005235894046142371 0.007995088488105324 0.0054551225704854555 0.008186848225552486" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3373434528286708,0.08857520090694049) rotate(0) scale(1,1) translate(-0.008085864862602469,-0.00808586486260247)"><path d="M 0.010100118072683748 0.008186848225552485 C 0.009932263638510307 0.008378607962999648 0.007750155994255591 0.01048796507491844 0.00808586486260247 0.01048796507491844 C 0.007750155994255591 0.01048796507491844 0.005903757218347751 0.007995088488105324 0.006071611652521191 0.008186848225552486" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33734345282867073,0.08471346031440918) rotate(0) scale(1,1) translate(-0.008085864862602469,-0.00808586486260247)"><path d="M 0.009643953475355634 0.008186848225552485 C 0.009514112757626203 0.008378607962999648 0.007826183427143609 0.01048796507491844 0.00808586486260247 0.01048796507491844 C 0.007826183427143609 0.01048796507491844 0.006397935532119875 0.007995088488105324 0.006527776249849305 0.008186848225552486" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.33734345282867073,0.08082229514035455) rotate(0) scale(1,1) translate(-0.008085864862602469,-0.00808586486260247)"><path d="M 0.00917127490744175 0.008186848225552485 C 0.00908082407037181 0.008378607962999648 0.007904963188462589 0.01048796507491844 0.008085864862602469 0.01048796507491844 C 0.007904963188462589 0.01048796507491844 0.006910003980693247 0.007995088488105324 0.007000454817763187 0.008186848225552486" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g></svg>
|