Files
SlaveMatrix-SDL/SlaveMatrix/Assets/Parts//x1y1.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

11 lines
4.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.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.3453199279695566 0.3581371025608465 0.3452286229171775 0.35876842242342805 C 0.3453199279695566 0.3581371025608465 0.34572546933132847 0.35503570481278623 0.345627780496267 0.35540142675295044 C 0.34572546933132847 0.35503570481278623 0.34652811105379205 0.3542850373844971 0.34640088893791515 0.35437975914145775 C 0.34652811105379205 0.3542850373844971 0.3473091988597992 0.35432709566379794 0.34715444588678956 0.35426476566942267 C 0.3473091988597992 0.35432709566379794 0.34844204856530103 0.3552372411335228 0.34825792461403093 0.3551277190739608 C 0.34844204856530103 0.3552372411335228 0.3494937577381243 0.35588242232995526 0.3493639333020306 0.35557903038416633 C 0.3494937577381243 0.35588242232995526 0.34991151681337107 0.3593849419834082 0.3498158178471557 0.358768422423428 C 0.34991151681337107 0.3593849419834082 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.33734372989033545,0.08861017861580622) rotate(0) scale(1,1) translate(-0.002175468882786078,-0.0021754688827860785)"><path d="M 0.00010221857415779324 0.0025352336699094964 C 0.00013334383235610422 0.0026292535641118343 0.0005808543998837543 0.0037968271902293193 0.00047572167253752493 0.003663472400337554 C 0.0005808543998837543 0.0037968271902293193 0.0015072631180824661 0.004223033912269794 0.001363811302312545 0.004135491148610677 C 0.0015072631180824661 0.004223033912269794 0.0023628524596449 0.004727516426143956 0.002197143461776579 0.004713985564246945 C 0.0023628524596449 0.004727516426143956 0.0034712694137475886 0.004184311738081718 0.0033523192767323956 0.004297861491374819 C 0.0034712694137475886 0.004184311738081718 0.0036976769072353333 0.0032005496648025203 0.0036245451059588973 0.003351388524729722 C 0.0036976769072353333 0.0032005496648025203 0.0042803472075571905 0.002415829059541618 0.0042299008920496295 0.0024877951722483953" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.3373437298903354,0.08663494520932224) rotate(0) scale(1,1) translate(-0.00328446270195594,-0.003284462701955941)"><path d="M 0.002934882246562799 0.004540940348516012 C 0.0029368100052197155 0.004642533678622537 0.0031152079469976518 0.005904425006744012 0.0029580153504457974 0.00576006030979431 C 0.0031152079469976518 0.005904425006744012 0.00497645824307999 0.0063160880787556115 0.004821193405185052 0.0062733167119124345" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.001542985405078137 0.0039401836787679905 C 0.001648141597808129 0.0039898662418644424 0.0030191599948120014 0.004552148446030895 0.00280485971783804 0.004536374435925412 C 0.0030191599948120014 0.004552148446030895 0.004223732813009645 0.00409556324704282 0.004114588728765675 0.004129471800033789" 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></svg>