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,173 @@
id: 鳥翼LowerArm
original_key: 鳥翼下腕
resource: 腕左
morph_x: 1
morph_y: 1
variants:
- x: 0
y: 0
file: x0y0.svg
fields:
- name: 鳥翼下腕
- name: 風切羽
- name: 雨覆羽
- name: 中雨覆羽
- name: 小雨覆
- name: 腕輪
joints:
- position: [
0.03826635411363119,
0.08396468919029003
]
- position: [
0.04287030801092431,
0.08365346873755669
]
- position: [
0.047434747309464606,
0.08401902229389652
]
- position: [
0.05163640916634209,
0.08488973355261559
]
- position: [
0.05587809302967817,
0.08577021116482045
]
- position: [
0.060651257233057004,
0.08672583945642386
]
- position: [
0.06547059178696413,
0.08760849728995995
]
- position: [
0.0700236967844711,
0.08848720702173624
]
- position: [
0.07436134332431826,
0.08904602895352927
]
- position: [
0.07911478705953308,
0.08934441795090939
]
- position: [
0.08375011292250588,
0.08907301956136343
]
- position: [
0.08837450189692068,
0.08873632884492277
]
- position: [
0.09283796925927543,
0.08741423808388876
]
- position: [
0.09710910775751296,
0.08536783154740307
]
- position: [
0.10113833183302273,
0.0830718149525222
]
- position: [
0.03017589452538396,
0.07922284954337216
]
- position: [
0.05024912603996979,
0.08288492378482894
]
- position: [
0.05369191138571563,
0.08250515198278399
]
- position: [
0.05695587567083925,
0.08201031649331451
]
- position: [
0.060144363313879554,
0.08174691037370135
]
- position: [
0.06342243418284652,
0.08125734957456991
]
- position: [
0.0671480873020844,
0.08051149977329765
]
- position: [
0.07083075267696194,
0.07950716393370603
]
- position: [
0.07476723307795337,
0.0784235248900821
]
- position: [
0.07880909700436899,
0.07744356239550892
]
- position: [
0.08280627252073917,
0.0760216123232635
]
- position: [
0.08645783941184487,
0.07421879209402767
]
- position: [
0.08995706446408752,
0.07269569926550187
]
- position: [
0.09299182414969118,
0.07063746432646942
]
- position: [
0.06241326209042743,
0.0776981254186554
]
- position: [
0.14201949215225323,
0.13806455543519372
]
- position: [
0.15476047568461637,
0.1465891854169782
]
- position: [
0.011152769902399136,
0.01599732240437809
]
- position: [
0.011152769902399133,
0.0007926069319585465
]
- position: [
0.011152769902399136,
0.028082295678153745
]
- position: [
0.011152769902399133,
-0.0057767558733554745
]
- position: [
0.007758324996586711,
0.014028762738271163
]
- position: [
0.009906215631991287,
0.012222459548808913
]
- position: [
0.005610434361182021,
0.0032941904443644873
]