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
This commit is contained in:
42
SlaveMatrix/Assets/Parts/虫顎/x1y0.svg
Normal file
42
SlaveMatrix/Assets/Parts/虫顎/x1y0.svg
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
||||
<g id="刺">
|
||||
<g transform="translate(0.29778582017847327,0.13488398330004114) rotate(0) scale(1,1) translate(-0.007146481068134289,-0.012581520905238711)"><path d="M 0.007177337179686064 0.011033122858046834 C 0.007420598043125611 0.011141606328199763 0.010730145878558696 0.01256915594006036 0.010096467540960628 0.01233492449988198 C 0.010730145878558696 0.01256915594006036 0.015171894705021399 0.013969648110212831 0.014781477230862879 0.013843900140187382" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.014781477230862879 0.013843900140187382 C 0.014396516859895151 0.013876263139871536 0.009523131756393462 0.014256091037417493 0.01016195277925016 0.014232256136397226 C 0.009523131756393462 0.014256091037417493 0.0068617643046935475 0.0141213908537667 0.007115624956582517 0.014129918952430588" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.30043071289301687,0.14228447264770566) rotate(0) scale(1,1) translate(-0.007146481068134289,-0.012581520905238711)"><path d="M 0.007177337179686064 0.011033122858046834 C 0.007420598043125611 0.011141606328199763 0.010730145878558696 0.01256915594006036 0.010096467540960628 0.01233492449988198 C 0.010730145878558696 0.01256915594006036 0.015171894705021399 0.013969648110212831 0.014781477230862879 0.013843900140187382" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.014781477230862879 0.013843900140187382 C 0.014396516859895151 0.013876263139871536 0.009523131756393462 0.014256091037417493 0.01016195277925016 0.014232256136397226 C 0.009523131756393462 0.014256091037417493 0.0068617643046935475 0.0141213908537667 0.007115624956582517 0.014129918952430588" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.304036168239255,0.14844437758145623) rotate(0) scale(1,1) translate(-0.007146481068134289,-0.012581520905238711)"><path d="M 0.007177337179686064 0.011033122858046834 C 0.007420598043125611 0.011141606328199763 0.010730145878558696 0.01256915594006036 0.010096467540960628 0.01233492449988198 C 0.010730145878558696 0.01256915594006036 0.015171894705021399 0.013969648110212831 0.014781477230862879 0.013843900140187382" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.014781477230862879 0.013843900140187382 C 0.014396516859895151 0.013876263139871536 0.009523131756393462 0.014256091037417493 0.01016195277925016 0.014232256136397226 C 0.009523131756393462 0.014256091037417493 0.0068617643046935475 0.0141213908537667 0.007115624956582517 0.014129918952430588" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></g>
|
||||
<g transform="translate(0.3115244315045804,0.11067365803312038) rotate(0) scale(1,1) translate(-0.04302775014963211,-0.029670372234060955)"><path d="M 0.047652943322036574 0.03578127456586208 C 0.0475148468289268 0.03605001765688376 0.04551626677599132 0.03941016846736586 0.04599578540471931 0.039006191658122226 C 0.04551626677599132 0.03941016846736586 0.041084045170483634 0.04075430074174908 0.04189871977730071 0.04062899627678567 C 0.041084045170483634 0.04075430074174908 0.03559349481018979 0.04060609312758522 0.0362196901229144 0.04050984523768313 C 0.03559349481018979 0.04060609312758522 0.03423143318307957 0.04189014809877142 0.034384376024605326 0.04178397095561078" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.034384376024605326 0.04178397095561078 C 0.03441208504919637 0.04194370452317127 0.034967529490659156 0.04411748294414644 0.0347168843196979 0.043700773766336645 C 0.034967529490659156 0.04411748294414644 0.03761505422251066 0.04704145669957766 0.03739211807614044 0.04678448108932835" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.03739211807614044 0.04678448108932835 C 0.03695856649079196 0.046687867967137024 0.03151711343913976 0.04556425191818432 0.03218949905195863 0.04562512362303244 C 0.03151711343913976 0.04556425191818432 0.029084656694843586 0.04608976204849413 0.029323490722313973 0.046054020631150924" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.029323490722313973 0.046054020631150924 C 0.029422181538207713 0.04668267358908559 0.03104807106761346 0.054998058188425424 0.030507780513038846 0.053597856126366875 C 0.03104807106761346 0.054998058188425424 0.036946758721062074 0.06441894314759099 0.03580697737720933 0.06285644537585354 C 0.036946758721062074 0.06441894314759099 0.044883338244443655 0.07313877805482988 0.044185156639271785 0.07234782938721632" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.044185156639271785 0.07234782938721632 C 0.044259727999721235 0.07281480145277551 0.045146503319134 0.0791617193926496 0.04508001296466517 0.07795149417392663 C 0.045146503319134 0.0791617193926496 0.044974959886917125 0.08761378516505562 0.044983040892897744 0.08687053201189185" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.044983040892897744 0.08687053201189185 C 0.044524595342311186 0.08589869868333 0.0378991732861334 0.07322865941779559 0.039481694285859036 0.07520853206914963 C 0.0378991732861334 0.07322865941779559 0.024138605027449987 0.060958070877043295 0.025992788896190118 0.06311206019564349 C 0.024138605027449987 0.060958070877043295 0.016186479864831967 0.04712682313406295 0.017231487860977446 0.04936066024594738 C 0.016186479864831967 0.04712682313406295 0.013137793365899956 0.03521812773695395 0.013452692942444378 0.036306014853030366" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.013452692942444378 0.036306014853030366 C 0.01348412930442467 0.03608395774363774 0.013991963491541245 0.033295838586777454 0.013829929286207878 0.033641329540318884 C 0.013991963491541245 0.033295838586777454 0.015527701249797854 0.03203668956638436 0.01539710340644478 0.032160123410533176" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.01539710340644478 0.032160123410533176 C 0.01570743873232786 0.03224597253221493 0.01974520593483802 0.03316326980790905 0.019121127317041745 0.03319031287071425 C 0.01974520593483802 0.03316326980790905 0.023643435973173504 0.03132596902718731 0.022886046820000085 0.031835606656870775 C 0.023643435973173504 0.03132596902718731 0.02921520049580981 0.026598541509135584 0.02820979715512279 0.027074661314512673 C 0.02921520049580981 0.026598541509135584 0.035800283560086396 0.02582923637465796 0.03495088690824433 0.026122168992345696 C 0.035800283560086396 0.02582923637465796 0.03869019614964292 0.023345911644752672 0.03840255697722764 0.02355946990225983" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.03840255697722764 0.02355946990225983 C 0.03870881610669368 0.023434978992777626 0.0427113993012857 0.02198640535357238 0.04207766653082007 0.022065578988473385 C 0.0427113993012857 0.02198640535357238 0.046595765718699646 0.022857686289546382 0.04600735022281521 0.022609386283447788 C 0.046595765718699646 0.022857686289546382 0.04952408524580027 0.02555442092263992 0.04913865248143323 0.025045179061656493 C 0.04952408524580027 0.02555442092263992 0.05071171703012068 0.02935402138571454 0.05063254339521968 0.02872028861524891 C 0.05071171703012068 0.02935402138571454 0.049840436094146685 0.03323838780312849 0.05008873610024528 0.032649972307244056 C 0.049840436094146685 0.03323838780312849 0.04744996059051918 0.03604221642074692 0.047652943322036574 0.03578127456586208" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3007114249939669,0.11479553907515733) rotate(0) scale(1,1) translate(-0.011628401968068896,-0.011628401968068892)"><path d="M 0.008737147728355139 0.023890166821240077 C 0.008613127037964607 0.023599683056049602 0.0074955978780629024 0.019970922093993503 0.007248899443668765 0.020404361638954392 C 0.0074955978780629024 0.019970922093993503 0.012189026692578288 0.018255496595352493 0.011697528941084782 0.018688892281709384 C 0.012189026692578288 0.018255496595352493 0.013530057646263891 0.01489665131340272 0.01314687246159084 0.015203613402671705 C 0.013530057646263891 0.01489665131340272 0.01679355145801276 0.014996662037378549 0.016295751157161385 0.015005347210481582 C 0.01679355145801276 0.014996662037378549 0.019517518883338497 0.01506418487397669 0.01912047607180734 0.015099391325435295 C 0.019517518883338497 0.01506418487397669 0.021221913964179277 0.01453982633194023 0.02106026489553528 0.014582869792978312" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g id="輪">
|
||||
<g transform="translate(0.2932717284723546,0.1330266483873785) rotate(0) scale(1,1) translate(-0.011152769902399133,-0.011152769902399133)"><path d="M 0.004060482694321534 0.008972331190494289 C 0.0046515066283280004 0.008972331190494289 0.012334817770412065 0.008972331190494287 0.011152769902399133 0.008972331190494287 C 0.012334817770412065 0.008972331190494287 0.018836081044483186 0.008972331190494285 0.01824505711047672 0.008972331190494285" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.01824505711047672 0.008972331190494285 C 0.01824505711047672 0.009154034416486356 0.018245057110476734 0.011516176354383272 0.018245057110476734 0.011152769902399131 C 0.018245057110476734 0.011516176354383272 0.01824505711047672 0.013514911840296047 0.01824505711047672 0.013333208614303977" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.01824505711047672 0.013333208614303977 C 0.017654033176470255 0.013333208614303977 0.009970722034386198 0.013333208614303978 0.011152769902399131 0.013333208614303978 C 0.009970722034386198 0.013333208614303978 0.0034694587603150686 0.013333208614303975 0.004060482694321535 0.013333208614303975" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.004060482694321535 0.013333208614303975 C 0.004060482694321535 0.013151505388311904 0.004060482694321534 0.010789363450414997 0.004060482694321534 0.011152769902399138 C 0.004060482694321534 0.010789363450414997 0.004060482694321534 0.008790627964502218 0.004060482694321534 0.008972331190494289" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.2914501630533508,0.1330266483873785) rotate(0) scale(1,1) translate(-0.00775832499658671,-0.0077583249965867095)"><path d="M 0.010668670126164008 0.010642212443167851 C 0.010202412571771936 0.010590950682362796 0.004607321919067088 0.00959768516654872 0.005073579473459159 0.010027071313507187 C 0.004607321919067088 0.00959768516654872 0.005539837027851227 0.005060192532707757 0.005073579473459157 0.005489578679666225 C 0.005539837027851227 0.005060192532707757 0.01113492768055607 0.004823175789200513 0.010668670126164 0.004874437550005568" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010668670126164 0.004874437550005568 C 0.010668670126164 0.004914859010138586 0.010668670126164 0.005416085115788011 0.010668670126164 0.005359495071601786 C 0.010668670126164 0.005416085115788011 0.010668670126164003 0.005569686664293484 0.010668670126164003 0.005553518080240277" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010668670126164003 0.005553518080240277 C 0.01027644835144251 0.00559246966909573 0.0055697870547845845 0.00634945337704134 0.005962008829506078 0.006020937146505721 C 0.0055697870547845845 0.00634945337704134 0.006354230604227571 0.00982422907720332 0.005962008829506078 0.009495712846667701 C 0.006354230604227571 0.00982422907720332 0.011060891900885498 0.010002083501788606 0.010668670126164004 0.009963131912933151" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.010668670126164004 0.009963131912933151 C 0.010668670126164004 0.009979300496986358 0.010668670126164004 0.010213744965757861 0.010668670126164004 0.010157154921571637 C 0.010668670126164004 0.010213744965757861 0.010668670126164008 0.010682633903300869 0.010668670126164008 0.010642212443167851" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.2890924607583291,0.1330266483873785) rotate(0) scale(1,1) translate(-0.0022536622055164745,-0.002253662205516475)"><path d="M 0.0028491265506314484 0.0026755881372671 C 0.002753396354431621 0.002669544010653759 0.0016046340000336941 0.002538781755895245 0.0017003641962335214 0.0026030586179070087 C 0.0016046340000336941 0.002538781755895245 0.0017960943924333487 0.0018399889311141774 0.0017003641962335214 0.0019042657931259406 C 0.0017960943924333487 0.0018399889311141774 0.0029448567468312752 0.0018256921471525081 0.002849126550631448 0.001831736273765849" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.002849126550631448 0.001831736273765849 C 0.0028682725898714133 0.001866896768078401 0.003078879021511033 0.002323983194141578 0.003078879021511033 0.002253662205516474 C 0.003078879021511033 0.002323983194141578 0.002829980511391483 0.002710748631579652 0.0028491265506314484 0.0026755881372671" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.29716717900044565,0.1330266483873785) rotate(0) scale(1,1) translate(-0.006469483550722008,-0.0064694835507220095)"><path d="M 0.006935885013795292 0.003891555463916947 C 0.0070913521681530535 0.004750864826185301 0.006780417859437532 0.009906720999795426 0.006935885013795293 0.009047411637527073 C 0.006780417859437532 0.009906720999795426 0.005847614933290962 0.008188102275258716 0.006003082087648723 0.009047411637527071 C 0.005847614933290962 0.008188102275258716 0.006158549242006485 0.003032246101648591 0.006003082087648724 0.0038915554639169453 C 0.006158549242006485 0.003032246101648591 0.0070913521681530535 0.004750864826185301 0.006935885013795292 0.003891555463916947 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.2869061789813229,0.1330266483873785) rotate(0) scale(1,1) translate(-0.009906215631991292,-0.007758324996586713)"><path d="M 0.00990621563199129 0.010642212443167853 C 0.009626461099356049 0.010529013907910868 0.00626940670773314 0.008916380647577502 0.006549161240368383 0.009283830020084042 C 0.00626940670773314 0.008916380647577502 0.006828915773003624 0.005865370600582839 0.006549161240368382 0.006232819973089378 C 0.006828915773003624 0.005865370600582839 0.010185970164626535 0.0047612390147485865 0.009906215631991292 0.00487443755000557" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.009906215631991292 0.00487443755000557 C 0.009906215631991292 0.0049148590101385885 0.009906215631991292 0.005416085115788014 0.009906215631991292 0.0053594950716017884 C 0.009906215631991292 0.005416085115788014 0.009906215631991292 0.005569686664293484 0.009906215631991292 0.005553518080240277" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.009906215631991292 0.005553518080240277 C 0.009678970023275267 0.005644767939029585 0.006952022718682981 0.0069247343463137425 0.0071792683273990045 0.006648516385711978 C 0.006952022718682981 0.0069247343463137425 0.007406513936115029 0.00914435156806321 0.007179268327399005 0.008868133607461446 C 0.007406513936115029 0.00914435156806321 0.010133461240707317 0.01005438177172246 0.009906215631991292 0.009963131912933151" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.009906215631991292 0.009963131912933151 C 0.009906215631991292 0.009979300496986358 0.00990621563199129 0.01021374496575786 0.00990621563199129 0.010157154921571635 C 0.00990621563199129 0.01021374496575786 0.00990621563199129 0.010682633903300872 0.00990621563199129 0.010642212443167853" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.29963727796338635,0.1330266483873785) rotate(0) scale(1,1) translate(-0.005610434361182026,-0.007758324996586713)"><path d="M 0.005610434361182026 0.010642212443167851 C 0.005610434361182026 0.010601790983034834 0.005610434361182027 0.010100564877385408 0.005610434361182027 0.010157154921571633 C 0.005610434361182027 0.010100564877385408 0.005610434361182027 0.009946963328879944 0.005610434361182027 0.009963131912933151" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.005610434361182027 0.009963131912933151 C 0.005837679969898055 0.009871882054143842 0.008564627274490396 0.008591915646859679 0.008337381665774368 0.008868133607461444 C 0.008564627274490396 0.008591915646859679 0.00811013605705834 0.006372298425110215 0.008337381665774368 0.006648516385711978 C 0.00811013605705834 0.006372298425110215 0.005383188752465998 0.005462268221450968 0.005610434361182026 0.005553518080240277" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.005610434361182026 0.005553518080240277 C 0.005610434361182026 0.005537349496187069 0.005610434361182026 0.005302905027415564 0.005610434361182026 0.005359495071601789 C 0.005610434361182026 0.005302905027415564 0.005610434361182027 0.004834016089872553 0.005610434361182027 0.004874437550005571" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.005610434361182027 0.004874437550005571 C 0.005890188893817271 0.004987636085262555 0.009247243285440205 0.006600269345595918 0.00896748875280496 0.006232819973089379 C 0.009247243285440205 0.006600269345595918 0.008687734220169718 0.009651279392590584 0.008967488752804963 0.009283830020084044 C 0.008687734220169718 0.009651279392590584 0.005330679828546781 0.010755410978424836 0.005610434361182026 0.010642212443167851" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
Reference in New Issue
Block a user