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

22 lines
9.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
<g id="鰭耳3">
<g transform="translate(0.32318469694825414,0.12353718517449955) rotate(0) scale(1,1) translate(-0.034870077655601586,-0.03487007765560158)"><path d="M 0.018993703165899437 0.05137972095379842 C 0.019218699015278735 0.051139519881630714 0.022093454710507502 0.04798663626333618 0.021693653358451026 0.04849730808778593 C 0.022093454710507502 0.04798663626333618 0.0241019455509826 0.044605389712638804 0.023791319390577152 0.04525165906040146 C 0.0241019455509826 0.044605389712638804 0.025678900633642164 0.03991655039336154 0.025421167283316393 0.04074207591463401 C 0.025678900633642164 0.03991655039336154 0.02700595802742576 0.03442607353597644 0.026884119594486427 0.0353453528051318 C 0.02700595802742576 0.03442607353597644 0.02688315421893021 0.029241172341406187 0.02688322847858838 0.029710724684769697" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.02688322847858838 0.029710724684769697 C 0.02748440568319262 0.029446377052280134 0.03510821174850059 0.026462712985834913 0.03409735493383926 0.02653855309489497 C 0.03510821174850059 0.026462712985834913 0.03942318986458141 0.028989150899478514 0.03901351025452432 0.028800643376049012" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.03901351025452432 0.028800643376049012 C 0.038888292449209126 0.029143067195930242 0.03707480392966077 0.03362609478562265 0.03751089659074201 0.03290972921462376 C 0.03707480392966077 0.03362609478562265 0.03303822507822088 0.038265206497570925 0.033780398321549346 0.03739703022803567 C 0.03303822507822088 0.038265206497570925 0.02761116686605863 0.044292908504659126 0.028604817670800427 0.04332784444904681 C 0.02761116686605863 0.044292908504659126 0.021055662455906038 0.04964878860411276 0.021856588664647784 0.04897779889538346 C 0.021055662455906038 0.04964878860411276 0.018755129374337095 0.051579881125333 0.018993703165899455 0.05137972095379842" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.10612783870950109,-0.09627626348585348)"><path d="M 0.09446153136312008 0.11840899693013342 C 0.0944221178836691 0.11835991229613589 0.104309046549653 0.10977103605921236 0.10308936737939346 0.11094543912873461 C 0.104309046549653 0.10977103605921236 0.1100320372850629 0.10311240398780809 0.10909768140623467 0.10431616009586642 C 0.1100320372850629 0.10311240398780809 0.11483727997038083 0.09589610595721973 0.11430163792533217 0.09650036583203475 C 0.11483727997038083 0.09589610595721973 0.11519469885730303 0.09776727358691338 0.11552538594681863 0.09706504159808621 C 0.11519469885730303 0.09776727358691338 0.10933647144997719 0.10613293412617907 0.11033339285114496 0.10492714969796084 C 0.10933647144997719 0.10613293412617907 0.10223967400880317 0.1126579420060526 0.10356232913280525 0.11153445473670488 C 0.10223967400880317 0.1126579420060526 0.0944221178836691 0.11835991229613589 0.09446153136312008 0.11840899693013342 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g></g>
<g id="鰭耳1">
<g transform="translate(0.3213094805753176,0.11191114852871512) rotate(0) scale(1,1) translate(-0.034870077655601586,-0.03487007765560158)"><path d="M 0.006613807875106983 0.01971919945647977 C 0.00731727551716683 0.019918279457983083 0.016609690290680948 0.022635630021288437 0.01505541957982515 0.02210815947451953 C 0.016609690290680948 0.022635630021288437 0.02680973213272723 0.026812471884123317 0.025265056405376574 0.026048846017706663 C 0.02680973213272723 0.026812471884123317 0.03470339562119411 0.03213633617894066 0.03359152830803303 0.03127166987151938 C 0.03470339562119411 0.03213633617894066 0.03927695188986068 0.037225915080947594 0.03860746416330953 0.03642484170676207 C 0.03927695188986068 0.037225915080947594 0.0418768740985917 0.04125619274966091 0.04162538102664692 0.04088455036174561" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.04162538102664692 0.04088455036174561 C 0.041192265608335596 0.04123165006907861 0.03536618734754566 0.04520421938502707 0.036427996006911094 0.0450497468497416 C 0.03536618734754566 0.04520421938502707 0.028254983873207608 0.042545593613123774 0.02888367711426172 0.042738220785171296" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.02888367711426172 0.042738220785171296 C 0.028643908571584185 0.04221142331019004 0.025423159359020685 0.035397043844956996 0.026006454602131277 0.03641665108539616 C 0.025423159359020685 0.035397043844956996 0.021149528889604845 0.029619631045227336 0.02188413419693462 0.030502933899901365 C 0.021149528889604845 0.029619631045227336 0.0163796911375007 0.025152432986104208 0.01719119091417399 0.025817016829307808 C 0.0163796911375007 0.025152432986104208 0.011264688290266256 0.022019776333722478 0.012146136876855174 0.022527927781458148 C 0.011264688290266256 0.022019776333722478 0.0061527804582946185 0.01948513876273156 0.006613807875106969 0.01971919945647976" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.10612783870950109,-0.09627626348585348)"><path d="M 0.09377723053945744 0.07726448368186953 C 0.09605684126694472 0.07811923551631543 0.10823261873628968 0.08501895549667404 0.10641695009227764 0.08373115996152197 C 0.10823261873628968 0.08501895549667404 0.11621983961107754 0.09355349532565752 0.11556525426760202 0.09271803010369437 C 0.11621983961107754 0.09355349532565752 0.11340180078694526 0.09309930203680936 0.11427197421398397 0.09375674262507981 C 0.11340180078694526 0.09309930203680936 0.10338282481173618 0.083524740863905 0.10512317314313743 0.08482874304444894 C 0.10338282481173618 0.083524740863905 0.09121599825544324 0.07716249936719609 0.09338779423716884 0.07810871645855258 C 0.09121599825544324 0.07716249936719609 0.07909407438762106 0.07340378521678086 0.07906162136243035 0.0734741379481711 C 0.07909407438762106 0.07340378521678086 0.09605684126694472 0.07811923551631543 0.09377723053945744 0.07726448368186953 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g></g>
<g id="鰭耳2">
<g transform="translate(0.3185288958966655,0.1188012526737346) rotate(0) scale(1,1) translate(-0.034870077655601586,-0.03487007765560158)"><path d="M 0.016830723359269523 0.03742570178491563 C 0.017202989183077177 0.03731051536680285 0.02190127517036602 0.03574064954274967 0.021297913244961365 0.03604346476756222 C 0.02190127517036602 0.03574064954274967 0.02442600253197941 0.033286859666482885 0.0240710664641254 0.03379191908716504 C 0.02442600253197941 0.033286859666482885 0.02563985502346998 0.029274115853914234 0.025557146059209498 0.029982751719376338 C 0.02563985502346998 0.029274115853914234 0.024854019898124198 0.024598568399260605 0.02506357403525116 0.025288288701619813 C 0.024854019898124198 0.024598568399260605 0.02287407327855552 0.021407593040186326 0.023042496413685956 0.021706108091065823" fill="none" stroke="#000000" stroke-width="0.001"/>
<path d="M 0.023042496413685956 0.021706108091065823 C 0.024059801514485873 0.02274517598394411 0.03582143203764268 0.036209028079147915 0.03525015762328495 0.034174922805605246 C 0.03582143203764268 0.036209028079147915 0.029451758699536534 0.04711040875424219 0.02989778938597872 0.04611537137357781" fill="none" stroke="none" stroke-width="0"/>
<path d="M 0.02989778938597872 0.04611537137357781 C 0.029876084498428695 0.045777046043366916 0.029480534031418593 0.041491006565067066 0.029637330735378418 0.04205546741104705 C 0.029480534031418593 0.041491006565067066 0.027667940399558 0.03900264232800533 0.02801622893846081 0.039341841221818025 C 0.027667940399558 0.03900264232800533 0.024984328788606895 0.03783309995859645 0.025457868268544685 0.03798508068529469 C 0.024984328788606895 0.03783309995859645 0.021614826436767758 0.03747145759307413 0.022333755179207354 0.03751807250143905 C 0.021614826436767758 0.03747145759307413 0.01637213737427469 0.037418004225205366 0.01683072335926951 0.03742570178491565" fill="none" stroke="#000000" stroke-width="0.001"/>
</g><g transform="translate(0.317739745606258,0.11889466917980429) rotate(0) scale(1,1) translate(-0.10749409176529023,-0.09496693764072228)"><path d="M 0.09282068087692193 0.09677202830592249 C 0.09414620979642045 0.09651112327619418 0.10401537714418563 0.09474113813558363 0.10224608181050371 0.09502711789868878 C 0.10401537714418563 0.09474113813558363 0.11506194072576914 0.09333279322756546 0.11405222488110502 0.09334027114866066 C 0.11506194072576914 0.09333279322756546 0.11339765233844018 0.09517480297030098 0.1143626719464732 0.09493738284554651 C 0.11339765233844018 0.09517480297030098 0.10067925772968296 0.0963902341276708 0.10247198958470881 0.09618931264571437 C 0.10067925772968296 0.0963902341276708 0.09150553511881407 0.09751249609649983 0.09284988968616302 0.09734844062902365 C 0.09150553511881407 0.09751249609649983 0.08633730070908466 0.09810994389517011 0.08633973477652142 0.09815797825542853 C 0.08633730070908466 0.09810994389517011 0.09414620979642045 0.09651112327619418 0.09282068087692193 0.09677202830592249 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
</g></g>
</svg>