- 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
14 lines
7.8 KiB
XML
14 lines
7.8 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.33734345282867056,0.2752572326331468) rotate(0) scale(1,1) translate(-0.01919286476298845,-0.019735317662897982)"><path d="M 0.023597485749027775 0.02494213263609107 C 0.02351068756089967 0.02485090337748077 0.022188855742653873 0.023661410991394568 0.022555907491490484 0.023847381532767446 C 0.022188855742653873 0.023661410991394568 0.01863235764157145 0.02271048613961655 0.019192864762988454 0.02271048613961655 C 0.01863235764157145 0.02271048613961655 0.015462770285649814 0.024033352074140323 0.015829822034486424 0.023847381532767446 C 0.015462770285649814 0.024033352074140323 0.014701445588821012 0.025033361894701376 0.014788243776949121 0.024942132636091074" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.014788243776949121 0.024942132636091074 C 0.014756267374788747 0.024835820380567152 0.014457497140193823 0.02339496621354841 0.014404526951024626 0.023666385569803994 C 0.014457497140193823 0.02339496621354841 0.015662447385488956 0.021199682819217025 0.015423886046979484 0.02168510036102408 C 0.015662447385488956 0.021199682819217025 0.017468242439214198 0.01728275365052772 0.017267263013138297 0.017841375068119305 C 0.017468242439214198 0.01728275365052772 0.017996105972377788 0.014551058363328847 0.017835639159890275 0.014981643349925057 C 0.017996105972377788 0.014551058363328847 0.019305966896579946 0.01248208121888475 0.019192864762988433 0.012674355228964772" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.019192864762988433 0.012674355228964772 C 0.019305966896579946 0.012866629239044795 0.020710557178574094 0.01541222833652125 0.02055009036608658 0.01498164334992504 C 0.020710557178574094 0.01541222833652125 0.021319445938914466 0.018399996485710883 0.021118466512838573 0.017841375068119298 C 0.021319445938914466 0.018399996485710883 0.023200404817506768 0.022170517902831127 0.022961843478997292 0.02168510036102407 C 0.023200404817506768 0.022170517902831127 0.02403417276412148 0.023937804926059552 0.023981202574952273 0.02366638556980397 C 0.02403417276412148 0.023937804926059552 0.0235655093468674 0.025048444891614997 0.023597485749027775 0.02494213263609107" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3373434528286707,0.27834516781562385) rotate(0) scale(1,1) translate(-0.01919286476298845,-0.0207756729228991)"><path d="M 0.02316906095414198 0.022235175843348692 C 0.022990257306824136 0.02212780487866189 0.020691966063949695 0.02081115649207428 0.021023417186327872 0.020946724267107086 C 0.020691966063949695 0.02081115649207428 0.018886352535483188 0.020608362542955033 0.01919164748560386 0.020608362542955033 C 0.018886352535483188 0.020608362542955033 0.01702840547873156 0.02108229204213989 0.017359877784879844 0.020946724267107086 C 0.01702840547873156 0.02108229204213989 0.015035154980736532 0.0223425468080355 0.01521397981182448 0.0222351758433487" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.01521397981182448 0.0222351758433487 C 0.015293921450062826 0.02205233310288301 0.016310154851292613 0.019717231135676822 0.016173279470684622 0.02004106295776046 C 0.016310154851292613 0.019717231135676822 0.016955253493870823 0.01804639436107567 0.016856484379120372 0.01834919397834505 C 0.016955253493870823 0.01804639436107567 0.017448483015242443 0.016104282224150102 0.017358508847690024 0.016407467550527875 C 0.017448483015242443 0.016104282224150102 0.018089037382690933 0.01445788074500302 0.0179361743897494 0.014710970061811764 C 0.018089037382690933 0.01445788074500302 0.019297588960758352 0.013258681222740536 0.019192864762988433 0.013370395748822938" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.019192864762988433 0.013370395748822938 C 0.019297588960758352 0.013482110274905338 0.020602418129169003 0.014964059378620494 0.020449555136227468 0.01471097006181175 C 0.020602418129169003 0.014964059378620494 0.021121178212890453 0.016710652876905645 0.021027220678286846 0.01640746755052787 C 0.021121178212890453 0.016710652876905645 0.021675611786657115 0.018651993595614428 0.021577045551470764 0.018349193978345047 C 0.021675611786657115 0.018651993595614428 0.022342683450745655 0.02036489477984409 0.022210015500523053 0.020041062957760453 C 0.022342683450745655 0.02036489477984409 0.023248981408610224 0.02241801858381438 0.02316906095414198 0.022235175843348692" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3373434528286707,0.27284025929820066) rotate(0) scale(1,1) translate(-0.022933258138484177,-0.022933258138484177)"><path d="M 0.023905728821085947 0.02231591239838557 C 0.024006783079954082 0.022416785217864648 0.024109843397478844 0.02327937263064611 0.02414590924490179 0.02315358628218623 C 0.024109843397478844 0.02327937263064611 0.023326911017015242 0.02388132877138066 0.023472938652010576 0.023825348579904166 C 0.023326911017015242 0.02388132877138066 0.02224754998996244 0.02376936838842767 0.022393577624957774 0.023825348579904166 C 0.02224754998996244 0.02376936838842767 0.02168454118464362 0.023027799933726348 0.021720607032066568 0.02315358628218623 C 0.02168454118464362 0.023027799933726348 0.022061841714750542 0.022215039578906495 0.021960787455882407 0.02231591239838557 C 0.022061841714750542 0.022215039578906495 0.023095336585584467 0.0219431124484373 0.022933258138484174 0.0219431124484373 C 0.023095336585584467 0.0219431124484373 0.024006783079954082 0.022416785217864648 0.023905728821085947 0.02231591239838557 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3373434528286707,0.2754880484339874) rotate(0) scale(1,1) translate(-0.02456377814682995,-0.024563778146829942)"><path d="M 0.02470502661174586 0.024429220912080933 C 0.024740338727974837 0.024440434014976684 0.02484627507666177 0.02458620435262144 0.02484627507666177 0.02456377814682994 C 0.02484627507666177 0.02458620435262144 0.024669714495516883 0.0247095484844747 0.02470502661174586 0.02469833538157895 C 0.024669714495516883 0.0247095484844747 0.02438721756568506 0.0246871222786832 0.024422529681914038 0.02469833538157895 C 0.02438721756568506 0.0246871222786832 0.024281281216998123 0.024541351941038438 0.024281281216998123 0.02456377814682994 C 0.024281281216998123 0.024541351941038438 0.024457841798143014 0.024418007809185183 0.024422529681914038 0.024429220912080933 C 0.024457841798143014 0.024418007809185183 0.024740338727974837 0.024440434014976684 0.02470502661174586 0.024429220912080933 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
|
</g><g transform="translate(0.3373434528286707,0.2784273467918403) rotate(0) scale(1,1) translate(-0.04809024934050082,-0.04760144134155646)"><path d="M 0.05220193953533819 0.04910488387848218 C 0.05204351392977807 0.04901733110983878 0.04995819141904687 0.047936480861870204 0.05030083226861665 0.048054250654761384 C 0.04995819141904687 0.047936480861870204 0.047721818852481515 0.04769164636378798 0.048090249340500824 0.04769164636378798 C 0.047721818852481515 0.04769164636378798 0.04553702556281521 0.048172020447652564 0.045879666412384994 0.048054250654761384 C 0.04553702556281521 0.048172020447652564 0.04382013354010333 0.049192436647125574 0.043978559145663454 0.04910488387848218" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
<path d="M 0.043978559145663454 0.04910488387848218 C 0.04408339708082799 0.04896351279664872 0.045579255217207675 0.04718295618174487 0.045236614367637894 0.0474084308964807 C 0.045579255217207675 0.04718295618174487 0.048565855169311306 0.04639918730165222 0.04809024934050082 0.04639918730165222 C 0.048565855169311306 0.04639918730165222 0.05128652516293352 0.047633905611216526 0.05094388431336374 0.0474084308964807 C 0.05128652516293352 0.047633905611216526 0.05230677747050273 0.049246254960315636 0.05220193953533819 0.04910488387848218" fill="none" stroke="#000000" stroke-width="0.001"/>
|
|
</g></svg>
|