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,96 @@
id: 横髪左
original_key: 横髪左
resource: 胴体
morph_x: 1
morph_y: 6
variants:
- x: 0
y: 0
file: x0y0.svg
- x: 0
y: 1
file: x0y1.svg
- x: 0
y: 2
file: x0y2.svg
- x: 0
y: 3
file: x0y3.svg
- x: 0
y: 4
file: x0y4.svg
- x: 0
y: 5
file: x0y5.svg
fields:
- name: 髪1
- name: 髪2
joints:
- position: [
0.16616158373553472,
0.15940810788315576
]
- position: [
0.17184530298233686,
0.15757007497446984
]
- position: [
0.1664797766962264,
0.15948765612332869
]
- position: [
0.16660060085041178,
0.15955987168991156
]
- position: [
0.17206586516812591,
0.19530965801685551
]
- position: [
0.1379683353679626,
0.11643916272399366
]
- position: [
0.1379683353679626,
0.1182765531743051
]
- position: [
0.1379683353679626,
0.11625542367896252
]
- position: [
0.1379683353679626,
0.11790907508424282
]
- position: [
0.1379683353679626,
0.11609005853843452
]
- position: [
0.1379683353679626,
0.11757834480318675
]
- position: [
0.1379683353679626,
0.11594122991195926
]
- position: [
0.1379683353679626,
0.11728068755023631
]
- position: [
0.17259594106424975,
0.18502913304560667
]
- position: [
0.17343900766836695,
0.18502913304560667
]
- position: [
0.1960892672062614,
0.1574204723697503
]
- position: [
0.19493638594412385,
0.1574204723697503
]