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:
14
SlaveMatrix/Assets/Parts/飛沫/x0y2.svg
Normal file
14
SlaveMatrix/Assets/Parts/飛沫/x0y2.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
||||
<g transform="translate(0.3373434528286706,0.2649004817027368) rotate(0) scale(1,1) translate(-0.31403212779456446,-0.3097273832173949)"><path d="M 0.32196722870051286 0.2988056537933331 C 0.32410710586217695 0.3003603655559895 0.32768875110855505 0.30807123026802036 0.326871390764549 0.3055556537933331 C 0.32768875110855505 0.30807123026802036 0.326054030420543 0.31641468911614395 0.326871390764549 0.3138991126414567 C 0.326054030420543 0.31641468911614395 0.3198273515388488 0.32220382440411305 0.32196722870051286 0.3206491126414567 C 0.3198273515388488 0.32220382440411305 0.3113870941592483 0.3232273832173949 0.31403212779456446 0.3232273832173949 C 0.3113870941592483 0.3232273832173949 0.303957149726952 0.3190944008788003 0.30609702688861606 0.3206491126414567 C 0.303957149726952 0.3190944008788003 0.3003755044805738 0.31138353616676945 0.30119286482457985 0.3138991126414567 C 0.3003755044805738 0.31138353616676945 0.3020102251685859 0.30304007731864585 0.30119286482457985 0.3055556537933331 C 0.3020102251685859 0.30304007731864585 0.30823690405028015 0.29725094203067676 0.30609702688861606 0.2988056537933331 C 0.30823690405028015 0.29725094203067676 0.3166771614298806 0.2962273832173949 0.31403212779456446 0.2962273832173949 C 0.3166771614298806 0.2962273832173949 0.32410710586217695 0.3003603655559895 0.32196722870051286 0.2988056537933331 Z" fill="#cccccc" stroke="none" stroke-width="0"/>
|
||||
</g><g transform="translate(0.33756733330604527,0.25999869127150155) rotate(0) scale(1,1) translate(-0.04481464761927566,-0.044778722440789925)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044112327248017266 0.045731835881980674 0.04461290817745994 0.04570354193076545 0.04452582834960322 C 0.045731835881980674 0.04461290817745994 0.04567524797955023 0.04519054671680478 0.04570354193076545 0.045103466888948056 C 0.04567524797955023 0.04519054671680478 0.045289939990225306 0.04567133651672749 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.04567133651672749 0.04472308646979115 0.0463100696830705 0.04481464761927567 0.0463100696830705 C 0.04472308646979115 0.0463100696830705 0.04419120619641105 0.04547023605104042 0.04426528072236854 0.04557078628388395 C 0.04419120619641105 0.04547023605104042 0.043897459356570655 0.04501638706109133 0.04392575330778588 0.045103466888948056 C 0.043897459356570655 0.04501638706109133 0.0439540472590011 0.04443874852174649 0.04392575330778588 0.04452582834960322 C 0.0439540472590011 0.04443874852174649 0.044339355248326016 0.044004690661317375 0.04426528072236854 0.04405850895466732 C 0.044339355248326016 0.044004690661317375 0.044906208768760184 0.04388000882940385 0.044814647619275665 0.04388000882940385 C 0.044906208768760184 0.04388000882940385 0.045438089042140264 0.044112327248017266 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.34274810917189863,0.2643676889073539) rotate(0) scale(1,1) translate(-0.04484881449437354,-0.04480354612859759)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044112327248017266 0.045731835881980674 0.04461290817745994 0.04570354193076545 0.04452582834960322 C 0.045731835881980674 0.04461290817745994 0.04567524797955023 0.04519054671680478 0.04570354193076545 0.045103466888948056 C 0.04567524797955023 0.04519054671680478 0.045289939990225306 0.0456246045772339 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.0456246045772339 0.044723086469791146 0.04574928640914743 0.044814647619275665 0.04574928640914743 C 0.044723086469791146 0.04574928640914743 0.044146761480836565 0.045531408954017624 0.04426528072236854 0.04557078628388395 C 0.044146761480836565 0.045531408954017624 0.04336412276967679 0.045189678622894774 0.043392416720892016 0.045276758450751506 C 0.04336412276967679 0.045189678622894774 0.04399849197457559 0.04442430755826287 0.04392575330778588 0.04452582834960322 C 0.04399849197457559 0.04442430755826287 0.044339355248326016 0.044004690661317375 0.04426528072236854 0.04405850895466732 C 0.044339355248326016 0.044004690661317375 0.044906208768760184 0.04388000882940385 0.044814647619275665 0.04388000882940385 C 0.044906208768760184 0.04388000882940385 0.045438089042140264 0.044112327248017266 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.34133005321166854,0.2703170108559554) rotate(0) scale(1,1) translate(-0.04483576390937553,-0.0448437116991965)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044112327248017266 0.045731835881980674 0.04461290817745994 0.04570354193076545 0.04452582834960322 C 0.045731835881980674 0.04461290817745994 0.04567524797955023 0.04519054671680478 0.04570354193076545 0.045103466888948056 C 0.04567524797955023 0.04519054671680478 0.045289939990225306 0.0456246045772339 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.0456246045772339 0.044723086469791146 0.04574928640914743 0.044814647619275665 0.04574928640914743 C 0.044723086469791146 0.04574928640914743 0.04419120619641106 0.04551696799053401 0.04426528072236854 0.04557078628388395 C 0.04419120619641106 0.04551696799053401 0.043897459356570655 0.04501638706109133 0.04392575330778588 0.045103466888948056 C 0.043897459356570655 0.04501638706109133 0.043926578914155745 0.044400941588516075 0.04392575330778588 0.04452582834960322 C 0.043926578914155745 0.044400941588516075 0.04400973511018175 0.04355100746255238 0.04393566058422427 0.04360482575590233 C 0.04400973511018175 0.04355100746255238 0.04493367711360554 0.04391781576263427 0.044814647619275665 0.04388000882940385 C 0.04493367711360554 0.04391781576263427 0.045438089042140264 0.044112327248017266 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3340887098339491,0.27063155243695236) rotate(0) scale(1,1) translate(-0.044793531329175795,-0.0448437116991965)"><path d="M 0.04569363465432706 0.04360482575590233 C 0.04576770918028454 0.04365864404925227 0.04570436753713532 0.04465071511069036 0.04570354193076545 0.04452582834960322 C 0.04570436753713532 0.04465071511069036 0.04567524797955023 0.04519054671680478 0.04570354193076545 0.045103466888948056 C 0.04567524797955023 0.04519054671680478 0.045289939990225306 0.0456246045772339 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.0456246045772339 0.044723086469791146 0.04574928640914743 0.044814647619275665 0.04574928640914743 C 0.044723086469791146 0.04574928640914743 0.04419120619641106 0.04551696799053401 0.04426528072236854 0.04557078628388395 C 0.04419120619641106 0.04551696799053401 0.043897459356570655 0.04501638706109133 0.04392575330778588 0.045103466888948056 C 0.043897459356570655 0.04501638706109133 0.0439540472590011 0.04443874852174649 0.04392575330778588 0.04452582834960322 C 0.0439540472590011 0.04443874852174649 0.044339355248326016 0.044004690661317375 0.04426528072236854 0.04405850895466732 C 0.044339355248326016 0.044004690661317375 0.04493367711360554 0.04384220189617343 0.044814647619275665 0.04388000882940385 C 0.04493367711360554 0.04384220189617343 0.04576770918028454 0.04365864404925227 0.04569363465432706 0.04360482575590233 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.33196971616761434,0.2641540234138308) rotate(0) scale(1,1) translate(-0.04478048074417777,-0.04480354612859759)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044112327248017266 0.04577628059755516 0.044627349140943566 0.04570354193076545 0.04452582834960322 C 0.04577628059755516 0.044627349140943566 0.046208584566444104 0.04536383827860824 0.04623687851765933 0.045276758450751506 C 0.046208584566444104 0.04536383827860824 0.04524549527465081 0.04561016361375028 0.045364014516182785 0.04557078628388395 C 0.04524549527465081 0.04561016361375028 0.044723086469791146 0.04574928640914743 0.044814647619275665 0.04574928640914743 C 0.044723086469791146 0.04574928640914743 0.04419120619641106 0.04551696799053401 0.04426528072236854 0.04557078628388395 C 0.04419120619641106 0.04551696799053401 0.043897459356570655 0.04501638706109133 0.04392575330778588 0.045103466888948056 C 0.043897459356570655 0.04501638706109133 0.0439540472590011 0.04443874852174649 0.04392575330778588 0.04452582834960322 C 0.0439540472590011 0.04443874852174649 0.044339355248326016 0.044004690661317375 0.04426528072236854 0.04405850895466732 C 0.044339355248326016 0.044004690661317375 0.044906208768760184 0.04388000882940385 0.044814647619275665 0.04388000882940385 C 0.044906208768760184 0.04388000882940385 0.045438089042140264 0.044112327248017266 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3429044379943828,0.2573499766525918) rotate(0) scale(1,1) translate(-0.044835763909375534,-0.04478558353935476)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044112327248017266 0.045731835881980674 0.04461290817745994 0.04570354193076545 0.04452582834960322 C 0.045731835881980674 0.04461290817745994 0.04567524797955023 0.04519054671680478 0.04570354193076545 0.045103466888948056 C 0.04567524797955023 0.04519054671680478 0.045289939990225306 0.0456246045772339 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.0456246045772339 0.04469561812494579 0.04578709334237785 0.044814647619275665 0.04574928640914743 C 0.04469561812494579 0.04578709334237785 0.04386158605826679 0.04597065118929899 0.04393566058422427 0.04602446948264893 C 0.04386158605826679 0.04597065118929899 0.04392492770141601 0.044978580127860913 0.04392575330778588 0.045103466888948056 C 0.04392492770141601 0.044978580127860913 0.0439540472590011 0.04443874852174649 0.04392575330778588 0.04452582834960322 C 0.0439540472590011 0.04443874852174649 0.044339355248326016 0.044004690661317375 0.04426528072236854 0.04405850895466732 C 0.044339355248326016 0.044004690661317375 0.044906208768760184 0.04388000882940385 0.044814647619275665 0.04388000882940385 C 0.044906208768760184 0.04388000882940385 0.045438089042140264 0.044112327248017266 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3468728380874886,0.2691937531765099) rotate(0) scale(1,1) translate(-0.04484881449437354,-0.04482574910995368)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044112327248017266 0.045731835881980674 0.04461290817745994 0.04570354193076545 0.04452582834960322 C 0.045731835881980674 0.04461290817745994 0.04567524797955023 0.04519054671680478 0.04570354193076545 0.045103466888948056 C 0.04567524797955023 0.04519054671680478 0.045289939990225306 0.0456246045772339 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.0456246045772339 0.044723086469791146 0.04574928640914743 0.044814647619275665 0.04574928640914743 C 0.044723086469791146 0.04574928640914743 0.04419120619641106 0.04551696799053401 0.04426528072236854 0.04557078628388395 C 0.04419120619641106 0.04551696799053401 0.04385301464099617 0.04500194609760771 0.04392575330778588 0.045103466888948056 C 0.04385301464099617 0.04500194609760771 0.04342071067210724 0.044265456959943036 0.043392416720892016 0.04435253678779977 C 0.04342071067210724 0.044265456959943036 0.04438379996390051 0.04401913162480099 0.04426528072236854 0.04405850895466732 C 0.04438379996390051 0.04401913162480099 0.044906208768760184 0.04388000882940385 0.044814647619275665 0.04388000882940385 C 0.044906208768760184 0.04388000882940385 0.045438089042140264 0.044112327248017266 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3373664552739698,0.27585187654876436) rotate(0) scale(1,1) translate(-0.04481464761927566,-0.04485057279776134)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044159059187510855 0.045731835881980674 0.04461290817745994 0.04570354193076545 0.04452582834960322 C 0.045731835881980674 0.04461290817745994 0.04567524797955023 0.04519054671680478 0.04570354193076545 0.045103466888948056 C 0.04567524797955023 0.04519054671680478 0.045289939990225306 0.0456246045772339 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.0456246045772339 0.044723086469791146 0.04574928640914743 0.044814647619275665 0.04574928640914743 C 0.044723086469791146 0.04574928640914743 0.04419120619641106 0.04551696799053401 0.04426528072236854 0.04557078628388395 C 0.04419120619641106 0.04551696799053401 0.043897459356570655 0.04501638706109133 0.04392575330778588 0.045103466888948056 C 0.043897459356570655 0.04501638706109133 0.0439540472590011 0.04443874852174649 0.04392575330778588 0.04452582834960322 C 0.0439540472590011 0.04443874852174649 0.04433935524832602 0.04395795872182379 0.04426528072236854 0.04405850895466732 C 0.04433935524832602 0.04395795872182379 0.04490620876876019 0.043319225555480775 0.04481464761927567 0.043319225555480775 C 0.04490620876876019 0.043319225555480775 0.045438089042140264 0.044159059187510855 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3277447855033379,0.2691063388892709) rotate(0) scale(1,1) translate(-0.04478048074417777,-0.04482574910995368)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.04548253375771476 0.04409788628453365 0.04626517246887455 0.0444396166156565 0.04623687851765933 0.04435253678779977 C 0.04626517246887455 0.0444396166156565 0.04563080326397574 0.045204987680288404 0.04570354193076545 0.045103466888948056 C 0.04563080326397574 0.045204987680288404 0.045289939990225306 0.0456246045772339 0.045364014516182785 0.04557078628388395 C 0.045289939990225306 0.0456246045772339 0.044723086469791146 0.04574928640914743 0.044814647619275665 0.04574928640914743 C 0.044723086469791146 0.04574928640914743 0.04419120619641106 0.04551696799053401 0.04426528072236854 0.04557078628388395 C 0.04419120619641106 0.04551696799053401 0.043897459356570655 0.04501638706109133 0.04392575330778588 0.045103466888948056 C 0.043897459356570655 0.04501638706109133 0.0439540472590011 0.04443874852174649 0.04392575330778588 0.04452582834960322 C 0.0439540472590011 0.04443874852174649 0.044339355248326016 0.044004690661317375 0.04426528072236854 0.04405850895466732 C 0.044339355248326016 0.044004690661317375 0.044906208768760184 0.04388000882940385 0.044814647619275665 0.04388000882940385 C 0.044906208768760184 0.04388000882940385 0.04548253375771476 0.04409788628453365 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.33126447557229005,0.25798420476977757) rotate(0) scale(1,1) translate(-0.044793531329175795,-0.04478558353935476)"><path d="M 0.045364014516182785 0.04405850895466732 C 0.045438089042140264 0.044112327248017266 0.045731835881980674 0.04461290817745994 0.04570354193076545 0.04452582834960322 C 0.045731835881980674 0.04461290817745994 0.045702716324395584 0.0452283536500352 0.04570354193076545 0.045103466888948056 C 0.045702716324395584 0.0452283536500352 0.04561956012836958 0.04607828777599888 0.04569363465432706 0.04602446948264893 C 0.04561956012836958 0.04607828777599888 0.04469561812494579 0.04571147947591701 0.044814647619275665 0.04574928640914743 C 0.04469561812494579 0.04571147947591701 0.04419120619641106 0.04551696799053401 0.04426528072236854 0.04557078628388395 C 0.04419120619641106 0.04551696799053401 0.043897459356570655 0.04501638706109133 0.04392575330778588 0.045103466888948056 C 0.043897459356570655 0.04501638706109133 0.0439540472590011 0.04443874852174649 0.04392575330778588 0.04452582834960322 C 0.0439540472590011 0.04443874852174649 0.044339355248326016 0.044004690661317375 0.04426528072236854 0.04405850895466732 C 0.044339355248326016 0.044004690661317375 0.044906208768760184 0.04388000882940385 0.044814647619275665 0.04388000882940385 C 0.044906208768760184 0.04388000882940385 0.045438089042140264 0.044112327248017266 0.045364014516182785 0.04405850895466732 Z" fill="#cccccc" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
Reference in New Issue
Block a user