- 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
10 lines
4.7 KiB
XML
10 lines
4.7 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.3373434528286707,0.10039800795060093) rotate(0) scale(1,1) translate(-0.007606109943618107,-0.0025895411710948005)"><path d="M 0.03995864885579592 -0.041928554056715785 C 0.03959744732768698 -0.041496493193869576 0.03427620806381457 -0.03599239564571868 0.03562423051848865 -0.03674382370256131 C 0.03427620806381457 -0.03599239564571868 0.021447536018467772 -0.03246404938908414 0.023782379399706986 -0.03291141737460425 C 0.021447536018467772 -0.03246404938908414 0.004910065034269943 -0.03137540787632004 0.0076061099436180914 -0.03137540787632004 C 0.004910065034269943 -0.03137540787632004 -0.01090500289371002 -0.033358785360124356 -0.00857015951247081 -0.03291141737460425 C -0.01090500289371002 -0.033358785360124356 -0.021760033085926504 -0.037495251759403936 -0.02041201063125243 -0.03674382370256131 C -0.021760033085926504 -0.037495251759403936 -0.025107630496668643 -0.042360614919561994 -0.024746428968559702 -0.041928554056715785" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M -0.01745894840300603 -0.041928554056715785 C -0.017236978652200807 -0.04178225790119364 -0.013784345417718431 -0.03983642627441293 -0.014795311393343365 -0.04017300019045002 C -0.013784345417718431 -0.03983642627441293 -0.003460571584093362 -0.03764470102635027 -0.00532735669550682 -0.037889667064270785 C -0.003460571584093362 -0.03764470102635027 0.009761687716805616 -0.03723340773540383 0.007606109943618126 -0.03723340773540383 C 0.009761687716805616 -0.03723340773540383 0.02240636169415653 -0.0381346331021913 0.020539576582743073 -0.037889667064270785 C 0.02240636169415653 -0.0381346331021913 0.031018497256204564 -0.0405095741064871 0.03000753128057963 -0.04017300019045002 C 0.031018497256204564 -0.0405095741064871 0.03289313804104749 -0.04207485021223793 0.03267116829024227 -0.041928554056715785" fill="none" stroke="none" stroke-width="0"/>
|
|
</g><g transform="translate(0.3373434528286707,0.05587991272279036) rotate(0) scale(1,1) translate(-0.0076061099436181175,-0.017810662605947887)"><path d="M 0.03995864885579593 0.017810662605947887 C 0.03976970383193286 0.018073626910087674 0.03723584103409202 0.021229198559765104 0.03769130856943912 0.020966234255625316 C 0.03723584103409202 0.021229198559765104 0.03407469340836428 0.020703269951485533 0.034493038431630686 0.02096623425562532 C 0.03407469340836428 0.020703269951485533 0.032519345778459906 0.0175476983018081 0.032671168290242275 0.017810662605947887" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M 0.032671168290242275 0.017810662605947887 C 0.032449198539437056 0.01766436645042574 0.028996565304954692 0.01571853482364508 0.030007531280579626 0.016055108739682116 C 0.028996565304954692 0.01571853482364508 0.018672791471329605 0.013526809575582954 0.020539576582743066 0.013771775613503425 C 0.018672791471329605 0.013526809575582954 0.0054505321704306185 0.013115516284636464 0.007606109943618109 0.013115516284636464 C 0.0054505321704306185 0.013115516284636464 -0.007194141806920281 0.014016741651423897 -0.005327356695506823 0.013771775613503425 C -0.007194141806920281 0.014016741651423897 -0.015806277368968315 0.016391682655719154 -0.014795311393343382 0.016055108739682116 C -0.015806277368968315 0.016391682655719154 -0.017680918153811242 0.017956958761470035 -0.017458948403006023 0.017810662605947887" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M -0.017458948403006023 0.017810662605947887 C -0.017610770914788392 0.018073626910087674 -0.019699163567660844 0.021229198559765107 -0.01928081854439444 0.02096623425562532 C -0.019699163567660844 0.021229198559765107 -0.022934556217549983 0.020703269951485533 -0.02247908868220288 0.02096623425562532 C -0.022934556217549983 0.020703269951485533 -0.024935373992422762 0.0175476983018081 -0.024746428968559695 0.017810662605947887" fill="none" stroke="none" stroke-width="0"/>
|
|
<path d="M -0.024746428968559695 0.017810662605947887 C -0.024385227440450758 0.017378601743101636 -0.019063988176578364 0.0118745041949502 -0.020412010631252437 0.01262593225179287 C -0.019063988176578364 0.0118745041949502 -0.006235316131231605 0.008346157938315871 -0.008570159512470815 0.008793525923835841 C -0.006235316131231605 0.008346157938315871 0.010302154852966231 0.007257516425553239 0.007606109943618083 0.007257516425553239 C 0.010302154852966231 0.007257516425553239 0.026117222780946192 0.009240893909355811 0.02378237939970698 0.008793525923835841 C 0.026117222780946192 0.009240893909355811 0.036972252973162714 0.013377360308635542 0.035624230518488634 0.01262593225179287 C 0.036972252973162714 0.013377360308635542 0.04031985038390487 0.018242723468794138 0.03995864885579593 0.017810662605947887" fill="none" stroke="none" stroke-width="0"/>
|
|
</g></svg>
|