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,110 @@
id: 胸郭
original_key: 胸郭
resource: 胴体
morph_x: 1
morph_y: 1
variants:
- x: 0
y: 0
file: x0y0.svg
fields:
- name: 胸郭
- name: 筋肉
- name: 虫性
- name: 淫タトゥ
- name: 悪タトゥ
- name: 植タトゥ
- name: 獣性
- name: 紋柄
- name:
- name: 傷X左
- name: 傷X右
- name: ハイライト外左
- name: ハイライト外右
- name: ハイライト内左
- name: ハイライト内右
joints:
- position: [
0.5,
0.4661224664730512
]
- position: [
0.4974362940041507,
0.468698711785305
]
- position: [
0.5025637059958493,
0.468698711785305
]
- position: [
0.48844090372831006,
0.48652345317618095
]
- position: [
0.5115590962716899,
0.48652345317618095
]
- position: [
0.4915786910606412,
0.5210273735826123
]
- position: [
0.5084213089393588,
0.5210273735826123
]
- position: [
0.5,
0.5162142508926452
]
- position: [
0.48625861180614893,
0.48416961212459886
]
- position: [
0.5137413881938511,
0.48416961212459886
]
- position: [
0.5,
0.48652345317618095
]
- position: [
0.48606329085174943,
0.5094193522856425
]
- position: [
0.5139367091482505,
0.5094193522856425
]
- position: [
0.0169426342667809,
0.030124107079415166
]
- position: [
0.015193209368897889,
0.018159061823751217
]
- position: [
0.03809482952172338,
0.030124107079415166
]
- position: [
0.03984425441960637,
0.018159061823751217
]
- position: [
-0.00593816491573173,
-0.0010747214730776524
]
- position: [
-0.005118427105262945,
0.009013682730968567
]
- position: [
0.01715383039419316,
-0.0010747214730776524
]
- position: [
0.016334092583724313,
0.009013682730968567
]