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,122 @@
id: パール
original_key: パール
resource: カーソル
morph_x: 1
morph_y: 17
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
- x: 0
y: 6
file: x0y6.svg
- x: 0
y: 7
file: x0y7.svg
- x: 0
y: 8
file: x0y8.svg
- x: 0
y: 9
file: x0y9.svg
- x: 0
y: 10
file: x0y10.svg
- x: 0
y: 11
file: x0y11.svg
- x: 0
y: 12
file: x0y12.svg
- x: 0
y: 13
file: x0y13.svg
- x: 0
y: 14
file: x0y14.svg
- x: 0
y: 15
file: x0y15.svg
- x: 0
y: 16
file: x0y16.svg
fields:
- name:
- name: 玉境界
- name: 玉1
- name: 玉2
- name: 玉3
- name: 玉4
- name: 玉5
- name: 玉6
- name: 玉7
- name: 輪上
- name: 輪下
joints:
- position: [
0.01668198317155192,
-0.004017073659485483
]
- position: [
0.01668198317155192,
0.006332454756033218
]
- position: [
0.01668198317155192,
0.027031511587070615
]
- position: [
0.01668198317155192,
0.0011576905482738676
]
- position: [
0.01668198317155192,
0.01150721896379257
]
- position: [
0.01668198317155192,
0.021856747379311266
]
- position: [
0.01668198317155192,
0.032206275794829965
]
- position: [
0.01668198317155192,
0.01668198317155192
]
- position: [
0.032807389218031946,
0.030261186362389548
]
- position: [
0.007606109943618107,
-0.0021237840334584358
]
- position: [
0.007606109943618109,
0.011409164915427206
]
- position: [
0.032807389218031946,
0.03280277419872378
]
- position: [
0.0076061099436181044,
-0.00425633944750486
]