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:
27
SlaveMatrix/Assets/Parts/魔性中瞼左/x0y2.svg
Normal file
27
SlaveMatrix/Assets/Parts/魔性中瞼左/x0y2.svg
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1">
|
||||
<g transform="translate(0.3257456317518053,0.1130072566562324) rotate(0) scale(1,1) translate(-0.14152185117886698,-0.14116273906070584)"><path d="M 0.13189398025221225 0.14152128608500533 C 0.1320638377702695 0.1409422222775161 0.13467478295918703 0.1336900036301274 0.13393227046889927 0.13457252039513456 C 0.13467478295918703 0.1336900036301274 0.14197577779397735 0.13082619305892967 0.1408041301356654 0.13093108490491925 C 0.14197577779397735 0.13082619305892967 0.14885431011859765 0.13394357602344725 0.14799204236864294 0.13331381824325977 C 0.14885431011859765 0.13394357602344725 0.15141461819899502 0.13891937493582826 0.15115134313512177 0.13848817826716914" fill="none" stroke="none" stroke-width="0"/>
|
||||
<path d="M 0.15115134313512177 0.13848817826716914 C 0.15123459274369164 0.1392156041124309 0.15107463604911 0.14368553728565076 0.15165084078654104 0.14285273333873974 C 0.15107463604911 0.14368553728565076 0.14703466036453475 0.14359038005028454 0.14769411471053565 0.14348500194863528" fill="none" stroke="none" stroke-width="0"/>
|
||||
<path d="M 0.14769411471053565 0.14348500194863528 C 0.14754928398278208 0.14336600145652345 0.14548972593664464 0.14193167187338673 0.14595614597749273 0.1420569960432932 C 0.14548972593664464 0.14193167187338673 0.14136184330508061 0.14197655053061523 0.14209707422035833 0.1419811119097576 C 0.14136184330508061 0.14197655053061523 0.13645767955969385 0.14195714269233747 0.13713337499416 0.1420022594935849 C 0.13645767955969385 0.14195714269233747 0.13372667517448142 0.1413928311948891 0.1339887290067644 0.14143971029478877" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.1339887290067644 0.14143971029478877 C 0.13408588000904603 0.14157598162499696 0.13536728274171259 0.14333185226976985 0.13515454103414418 0.14307496625728688 C 0.13536728274171259 0.14333185226976985 0.13665722020287197 0.14464295712685915 0.13654162949758522 0.14452234244458437" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.13654162949758522 0.14452234244458437 C 0.13683527560501352 0.14462989683863006 0.14073814070972507 0.1458715252549872 0.14006538278672478 0.14581299517313268 C 0.14073814070972507 0.1458715252549872 0.14520324779518184 0.14503374323335466 0.1446147245735885 0.14522470342683877 C 0.14520324779518184 0.14503374323335466 0.14738427729059034 0.1433764977281398 0.14712766144584474 0.1435214728513234 C 0.14738427729059034 0.1433764977281398 0.1477413191492599 0.1434819627067446 0.14769411471053565 0.14348500194863528" fill="none" stroke="none" stroke-width="0"/>
|
||||
<path d="M 0.14769411471053565 0.14348500194863528 C 0.14835353542601692 0.14337970045594106 0.1519635447618791 0.14335209744121336 0.15165063900342324 0.14285319299246987 C 0.1519635447618791 0.14335209744121336 0.14922503430424533 0.14708263458253393 0.14957154926127075 0.1464784286410962" fill="none" stroke="none" stroke-width="0"/>
|
||||
<path d="M 0.14957154926127075 0.1464784286410962 C 0.14932041645698632 0.14681606825337767 0.14575634405730478 0.15095336070947737 0.14655795560985743 0.15053010398847386 C 0.14575634405730478 0.15095336070947737 0.1389324419060575 0.15139561909381702 0.13995221063063903 0.15155750929313846 C 0.1389324419060575 0.15139561909381702 0.13364921171667676 0.1477510696626053 0.134320730914879 0.1485874215966164 C 0.13364921171667676 0.1477510696626053 0.13169175103032335 0.14093244145903774 0.13189398025221225 0.14152128608500533" fill="none" stroke="none" stroke-width="0"/>
|
||||
<path d="M 0.13189398025221225 0.14152128608500533 C 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533 C 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533 C 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533 C 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533 0.13189398025221225 0.14152128608500533" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.32588449103078504,0.10825672161350267) rotate(0) scale(1,1) translate(-0.014991016181195468,-0.014142268789137224)"><path d="M 0.020746847081869232 0.018395806383560788 C 0.020543025482504938 0.018210599689669385 0.017808846200993923 0.01589885458420076 0.01830098788949771 0.016173326056863946 C 0.017808846200993923 0.01589885458420076 0.014241415837360768 0.015029918489144851 0.014841146819823781 0.015102148711602564 C 0.014241415837360768 0.015029918489144851 0.01052392217550405 0.015419781065198038 0.01110421609994154 0.015306563387371389 C 0.01052392217550405 0.015419781065198038 0.007608736695459934 0.016556943967034946 0.007877619726573904 0.016460760845522365" fill="none" stroke="none" stroke-width="0"/>
|
||||
<path d="M 0.007877619726573904 0.016460760845522365 C 0.0081434838937923 0.016321269117274075 0.011670145472373095 0.014627755147575004 0.011067989733194651 0.014786860106542885 C 0.011670145472373095 0.014627755147575004 0.015727521264043517 0.01463549030087556 0.015103488596715231 0.014551501337907785 C 0.015727521264043517 0.01463549030087556 0.019026661614896943 0.016115086415960597 0.01855638174113411 0.01579472766215618 C 0.019026661614896943 0.016115086415960597 0.020929385860263827 0.01861256294367784 0.020746847081869232 0.018395806383560788" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g id="睫毛">
|
||||
<g transform="translate(0.31957786787486187,0.1152706416648129) rotate(0) scale(1,1) translate(-0.008417252494995203,-0.005828091228850773)"><path d="M 0.006292113769120702 0.0070831137672763165 C 0.0064041104552985334 0.0069922433685504284 0.007797072942219354 0.0058630594193352405 0.007636074003254673 0.00599266898256566 C 0.007797072942219354 0.0058630594193352405 0.008273103289483724 0.005489059844006747 0.008224101036696874 0.005527799008511279" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.008224101036696874 0.005527799008511279 C 0.008255387930159088 0.005531463001678234 0.008642444428928845 0.005605981706214241 0.008599543758243438 0.005571766926514741 C 0.008642444428928845 0.005605981706214241 0.008732539903096468 0.0059927106640622835 0.008738909084921758 0.00593837636490528 C 0.008732539903096468 0.0059927106640622835 0.008505130617291483 0.006247562029023241 0.008523113576339966 0.006223778516398782" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.008523113576339966 0.006223778516398782 C 0.008465314506051624 0.0062431591954160625 0.007643608082278252 0.006527957935512604 0.007829524732879857 0.006456346664606143 C 0.007643608082278252 0.006527957935512604 0.006163996188807439 0.007135344359165498 0.006292113769120702 0.0070831137672763165" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.3202724469762811,0.11609843513672774) rotate(0) scale(1,1) translate(-0.008417252494995203,-0.005828091228850773)"><path d="M 0.007021034105881812 0.007468487780163096 C 0.007087681573186979 0.00736169483383376 0.007916897570030142 0.006034292789613664 0.007820803713543819 0.006186972424211065 C 0.007916897570030142 0.006034292789613664 0.008203606772898855 0.005590445476726209 0.008174160383717698 0.005636332164994275" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.008174160383717698 0.005636332164994275 C 0.008200924445704234 0.005630394822489122 0.008540213498781753 0.005580955061119067 0.008495329127556125 0.005565084054932437 C 0.008540213498781753 0.005580955061119067 0.008722769523485581 0.005873301953771774 0.008712772838425246 0.005826784239233838 C 0.008722769523485581 0.005873301953771774 0.008607165724101374 0.0061480059952338205 0.008615289348280134 0.006123296629387668" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.008615289348280134 0.006123296629387668 C 0.008573178338054719 0.006155775821554437 0.007977102622041949 0.006625146197953517 0.008109957225575143 0.006513046935388897 C 0.007977102622041949 0.006625146197953517 0.006930290512574034 0.0075481078505609455 0.007021034105881812 0.007468487780163096" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.32127865404114064,0.11365323932179619) rotate(0) scale(1,1) translate(-0.008380251738491874,-0.0057170889593407765)"><path d="M 0.005176021579847656 0.007116905334047871 C 0.005376703204874579 0.0070062147367332865 0.007829431129327083 0.005652767381089736 0.007584201080170733 0.005788618166272857 C 0.007829431129327083 0.005652767381089736 0.008163330593853282 0.00546153572398187 0.008118782169723856 0.0054866959118504074" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.008118782169723856 0.0054866959118504074 C 0.008146674026431638 0.005484752112048881 0.008495648014639992 0.005487974072655232 0.008453484450217229 0.0054633703142320895 C 0.008495648014639992 0.005487974072655232 0.008624077731184693 0.005833471273863647 0.008624744942797016 0.005781941012928123 C 0.008624077731184693 0.005833471273863647 0.008430538991542056 0.00610671614816924 0.00844547791086936 0.006081733445458384" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.00844547791086936 0.006081733445458384 C 0.008390442816313572 0.00610107193244538 0.007512602081948088 0.006400059613351458 0.007785056776199897 0.0063137952893023335 C 0.007512602081948088 0.006400059613351458 0.004958601980151636 0.0071838311711099985 0.005176021579847656 0.007116905334047871" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g><g transform="translate(0.31825306342491916,0.11334536641132262) rotate(0) scale(1,1) translate(-0.008355584567489648,-0.005692421788338555)"><path d="M 0.0044446789419975785 0.006503772608939343 C 0.004693788578153956 0.006430341151245435 0.007744380379163318 0.005526689915744665 0.007433994575874107 0.005622595116612445 C 0.007744380379163318 0.005526689915744665 0.008230584748600948 0.005330436455352115 0.008169308581468113 0.005352910198525987" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.008169308581468113 0.005352910198525987 C 0.008199951313739039 0.00536029968891674 0.008579354014988194 0.005478594432038979 0.008537021368719219 0.005441584083215025 C 0.008579354014988194 0.005478594432038979 0.00866466635452091 0.005855285030480288 0.008677300336695816 0.0057970343844134286 C 0.00866466635452091 0.005855285030480288 0.0083610896864474 0.00616922162365099 0.008385413582620354 0.006140591836017332" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
<path d="M 0.008385413582620354 0.006140591836017332 C 0.008315372464172993 0.006151439770979393 0.0072165256078667835 0.006301032119972235 0.0075449201612520144 0.006270767055562067 C 0.0072165256078667835 0.006301032119972235 0.004186325507059709 0.00652318973838745 0.0044446789419975785 0.006503772608939343" fill="none" stroke="#000000" stroke-width="0.001"/>
|
||||
</g></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
Reference in New Issue
Block a user