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,234 @@
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: 雫1
- name: 雫2
- name: 雫3
- name: 雫4
- name: 雫5
- name: 雫6
- name: 雫7
- name: 雫8
- name: 雫9
- name: 雫10
joints:
- position: [
0.31393622183370784,
0.3074667803769129
]
- position: [
0.31621595581077644,
0.30951846958960816
]
- position: [
0.3155980415340968,
0.3126499236523995
]
- position: [
0.31227440213331886,
0.31223433115535404
]
- position: [
0.3118163311247337,
0.3090389397853248
]
- position: [
0.3159728742413248,
0.30653677001886415
]
- position: [
0.3178982722147934,
0.3111685728494372
]
- position: [
0.3134886606830435,
0.31428294998547923
]
- position: [
0.3101020460670979,
0.3111685728494372
]
- position: [
0.31145200827542635,
0.30692039386229053
]
- position: [
0.31412410011249536,
0.30553346277763194
]
- position: [
0.318501952017188,
0.30928993090638723
]
- position: [
0.31730670990370435,
0.31457398415565885
]
- position: [
0.3111190505922407,
0.3145627763952592
]
- position: [
0.30956564404648895,
0.30891662507079365
]
- position: [
0.31847811674651477,
0.30341301096178896
]
- position: [
0.32192106579144014,
0.31313127270452434
]
- position: [
0.313774770767116,
0.3188497883802044
]
- position: [
0.30606791985249826,
0.31307663877499986
]
- position: [
0.30894270724975753,
0.30400121545674325
]
- position: [
0.3143119783912828,
0.3036001451783509
]
- position: [
0.3207879482235995,
0.3090613922231663
]
- position: [
0.3190153782733119,
0.3164980446589182
]
- position: [
0.3099636990511626,
0.3168912216351644
]
- position: [
0.3073149569682441,
0.3087943103562625
]
- position: [
0.32098335925170474,
0.30028925190471367
]
- position: [
0.32594385936808695,
0.31509397255961136
]
- position: [
0.31406088085118844,
0.32341662677492944
]
- position: [
0.3020337936378986,
0.31498470470056256
]
- position: [
0.30643340622408877,
0.3010820370511959
]
- position: [
0.3144998566700703,
0.3016668275790698
]
- position: [
0.32307394443001103,
0.3088328535399455
]
- position: [
0.3207240466429194,
0.31842210516217756
]
- position: [
0.3088083475100845,
0.31921966687506964
]
- position: [
0.30506426988999935,
0.3086719956417313
]
- position: [
0.3234886017568947,
0.2971654928476385
]
- position: [
0.3299666529447337,
0.3170566724146984
]
- position: [
0.314346990935261,
0.32798346516965454
]
- position: [
0.297999667423299,
0.3168927706261252
]
- position: [
0.30392410519842006,
0.2981628586456486
]
- position: [
0.3146877349488578,
0.29973350997978887
]
- position: [
0.32535994063642254,
0.30860431485672457
]
- position: [
0.32243271501252696,
0.32034616566543683
]
- position: [
0.3076529959690064,
0.32154811211497475
]
- position: [
0.3028135828117546,
0.3085496809272002
]
- position: [
0.32599384426208466,
0.2940417337905633
]
- position: [
0.3339894465213804,
0.3190193722697855
]
- position: [
0.3146331010193335,
0.33255030356437965
]
- position: [
0.2939655412086993,
0.3188008365516878
]
- position: [
0.30141480417275124,
0.29524368024010134
]