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,109 @@
id: 額瞼
original_key: 額瞼
resource: 胴体
morph_x: 1
morph_y: 5
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
fields:
- name: 瞼左
- name: 瞼右
joints:
- position: [
0.014168721482344672,
0.015561954080885157
]
- position: [
0.011669417108863584,
0.01145467452500613
]
- position: [
0.01066487290686455,
0.014068551520726474
]
- position: [
0.01666802585582583,
0.01145467452500613
]
- position: [
0.017672570057824855,
0.014068551520726474
]
- position: [
0.012194827851210899,
0.01145467452500613
]
- position: [
0.01144188879343452,
0.014068551520726474
]
- position: [
0.016142615113478517,
0.01145467452500613
]
- position: [
0.016895554171254885,
0.014068551520726474
]
- position: [
0.012720238593558211,
0.01145467452500613
]
- position: [
0.01221890468000449,
0.014068551520726474
]
- position: [
0.015617204371131205,
0.01145467452500613
]
- position: [
0.016118538284684916,
0.014068551520726474
]
- position: [
0.013245649335905524,
0.01145467452500613
]
- position: [
0.012995920566574459,
0.014068551520726474
]
- position: [
0.015091793628783892,
0.01145467452500613
]
- position: [
0.015341522398114945,
0.014068551520726474
]
- position: [
0.013771060078252838,
0.01145467452500613
]
- position: [
0.013772936453144428,
0.014068551520726474
]
- position: [
0.014566382886436578,
0.01145467452500613
]
- position: [
0.014564506511544974,
0.014068551520726474
]