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:
2026-06-13 17:56:01 +02:00
parent fb0ff502f0
commit 58f3bf6884
1070 changed files with 83799 additions and 32 deletions

View File

@@ -0,0 +1,196 @@
id:
original_key:
resource: 肢左
morph_x: 1
morph_y: 1
variants:
- x: 0
y: 0
file: x0y0.svg
fields:
- name: 通常葉4
- name: ハート葉4
- name:
- name: 根1
- name: 根2
- name: 通常葉1
- name: 通常葉2
- name: 通常葉3
- name: ハート葉1
- name: ハート葉2
- name: ハート葉3
- name:
- name:
joints:
- position: [
0.010698650217310797,
0.004561430998535203
]
- position: [
0.009512980934121337,
0.0046410640647490415
]
- position: [
0.008579343297343124,
0.04597905345115765
]
- position: [
0.005465866610132453,
0.04314178234835579
]
- position: [
0.007317637635962611,
0.023647660777567837
]
- position: [
0.0028896420071378133,
0.03536953332978525
]
- position: [
0.004391351485042945,
0.04316910676809802
]
- position: [
0.009867766713439583,
0.022243183122477743
]
- position: [
0.00920101849488305,
0.015771494553768493
]
- position: [
0.0036242423051604496,
0.00462973848412146
]
- position: [
0.004809184321767747,
0.004644947896954584
]
- position: [
0.005579396632562491,
0.004654834015296118
]
- position: [
0.003624242305160449,
0.004629738484121461
]
- position: [
0.004809184321767747,
0.004644947896954587
]
- position: [
0.0055793966325624915,
0.0046548340152961195
]
- position: [
0.01311722451616037,
0.007315599086105254
]
- position: [
0.030304910451192133,
0.007187663316623027
]
- position: [
0.022124857559686524,
0.010268957086469932
]
- position: [
0.022221465382406807,
0.008638806803654439
]
- position: [
0.015954419219492456,
0.02588075952026324
]
- position: [
0.029903009894787957,
0.026169057924279142
]
- position: [
0.022883504855512188,
0.02275855477196796
]
- position: [
0.015847376851542732,
0.02565848245258822
]
- position: [
0.02977449837221534,
0.026384792514593004
]
- position: [
0.02225411784420977,
0.033599755243501186
]
- position: [
0.01980540117149426,
0.022920100614766854
]
- position: [
0.02708161440872025,
0.023223748015269986
]
- position: [
0.008648842315275799,
0.008834951037239813
]
- position: [
0.010731827631505698,
0.008798592393300497
]
- position: [
0.0023820575180592673,
-0.011565497332093704
]
- position: [
0.0033084337494940514,
-0.01489684238384113
]
- position: [
0.004230150723511614,
0.004619551614583987
]
- position: [
0.0030683905885458508,
0.0046398302131708345
]
- position: [
0.0036525570345090994,
0.004817967410921817
]
- position: [
-0.0010406286376953803,
-0.010315549823243238
]
- position: [
0.0022581820334926775,
-0.010373130777694715
]
- position: [
-0.0010390554559594144,
-0.01024951625455418
]
- position: [
0.005765060242780219,
-0.01036828253585479
]
- position: [
0.008816257652797277,
0.009147151379549771
]
- position: [
0.010524305612105793,
0.009117337291519529
]
- position: [
0.009670281632451535,
0.009132244335534652
]
- position: [
0.009370444980573435,
-0.00804538594605669
]
- position: [
0.007176118292399189,
0.006107050978475994
]