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,367 @@
id: Waist
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:
- name: 下腹
- name: 腰皺
- name: 筋肉
- name: ハイライト
- name:
- name: 虫性
- name: 淫タトゥ
- name: 獣性
- name: 紋柄
- name:
- name: 傷X左
- name: 傷X右
- name: 傷I左
- name: 傷I右
- name: ハイライト上左
- name: ハイライト上右
- name: ハイライト下左
- name: ハイライト下右
joints:
- position: [
0.5000000000000002,
0.4732245506977483
]
- position: [
0.47938456472027985,
0.5179248041533326
]
- position: [
0.5206154352797204,
0.5179248041533326
]
- position: [
0.5000000000000001,
0.48510796701365455
]
- position: [
0.5000000000000001,
0.5216135717769247
]
- position: [
0.5000000000000001,
0.527034541777027
]
- position: [
0.5000000000000001,
0.47870237904216456
]
- position: [
0.5000000000000002,
0.4953870876261485
]
- position: [
0.4934556365038463,
0.48323250154800246
]
- position: [
0.506544363496155,
0.48323250154800246
]
- position: [
0.4778895056651132,
0.4756384440899468
]
- position: [
0.5221104943348872,
0.4756384440899468
]
- position: [
0.5000000000000001,
0.5028792172788893
]
- position: [
0.09500000000000003,
0.09851030131002228
]
- position: [
0.07470698472545342,
0.09930024362971097
]
- position: [
0.11529301527454647,
0.09930024362971097
]
- position: [
0.01919286476298848,
0.026044966334642206
]
- position: [
0.5000000000000002,
0.4726661654790053
]
- position: [
0.47917098232966115,
0.5171088415793125
]
- position: [
0.5208290176703392,
0.5171088415793125
]
- position: [
0.5000000000000001,
0.48219787831765754
]
- position: [
0.5000000000000001,
0.5208087756772546
]
- position: [
0.5000000000000002,
0.526791606898426
]
- position: [
0.5000000000000001,
0.47657965637744015
]
- position: [
0.5000000000000002,
0.4937290419693564
]
- position: [
0.4934578603950188,
0.4804447267889169
]
- position: [
0.506542139604982,
0.4804447267889169
]
- position: [
0.4781614766567406,
0.47504325143562276
]
- position: [
0.5218385233432598,
0.47504325143562276
]
- position: [
0.5000000000000002,
0.5028176270761189
]
- position: [
0.09500000000000003,
0.09810801732194308
]
- position: [
0.07466509350993522,
0.09922520377873464
]
- position: [
0.11533490649006484,
0.09922520377873464
]
- position: [
0.5000000000000002,
0.47210778026026223
]
- position: [
0.47895739993904246,
0.5162928790052923
]
- position: [
0.5210426000609578,
0.5162928790052923
]
- position: [
0.5000000000000001,
0.4792877896216606
]
- position: [
0.5000000000000001,
0.5194526853797667
]
- position: [
0.5000000000000002,
0.5265486720198249
]
- position: [
0.5000000000000001,
0.47478418869358446
]
- position: [
0.5000000000000002,
0.49207099631256435
]
- position: [
0.49346008428619137,
0.4776569520298313
]
- position: [
0.506539915713809,
0.4776569520298313
]
- position: [
0.478433447648368,
0.47444805878129875
]
- position: [
0.5215665523516323,
0.47444805878129875
]
- position: [
0.5000000000000002,
0.5027560368733484
]
- position: [
0.09500000000000003,
0.09770573333386386
]
- position: [
0.07462320229441693,
0.09915016392775831
]
- position: [
0.11537679770558314,
0.09915016392775831
]
- position: [
0.5000000000000002,
0.47233384179720206
]
- position: [
0.47888211546377446,
0.5143186009474842
]
- position: [
0.5211178845362259,
0.5143186009474842
]
- position: [
0.5000000000000001,
0.47777018251311604
]
- position: [
0.5000000000000001,
0.5142010488322678
]
- position: [
0.5000000000000002,
0.5248698124788598
]
- position: [
0.5000000000000001,
0.47453302966104693
]
- position: [
0.5000000000000002,
0.49261972333743
]
- position: [
0.49349365146754204,
0.47604627504399655
]
- position: [
0.506506348532458,
0.47604627504399655
]
- position: [
0.47811426267356383,
0.4746485176712184
]
- position: [
0.5218857373264365,
0.47464851767121846
]
- position: [
0.5000000000000002,
0.5023010568767862
]
- position: [
0.09500000000000003,
0.09968780133751481
]
- position: [
0.07399390065866218,
0.0967993680424499
]
- position: [
0.11600609934133789,
0.0967993680424499
]
- position: [
0.5000000000000002,
0.47255990333414194
]
- position: [
0.4788068309885065,
0.512344322889676
]
- position: [
0.5211931690114939,
0.512344322889676
]
- position: [
0.5000000000000001,
0.4761151160455526
]
- position: [
0.5000000000000001,
0.5089494122847689
]
- position: [
0.5000000000000001,
0.5225946076752476
]
- position: [
0.5000000000000001,
0.4742429803777582
]
- position: [
0.5000000000000002,
0.49316845036229556
]
- position: [
0.4935272186488927,
0.47443559805816177
]
- position: [
0.5064727813511071,
0.47443559805816177
]
- position: [
0.4777950776987596,
0.4748489765611381
]
- position: [
0.5222049223012407,
0.47484897656113817
]
- position: [
0.5000000000000002,
0.501846076880224
]
- position: [
0.09500000000000001,
0.10044515484456887
]
- position: [
0.07336459902290743,
0.09444857215714147
]
- position: [
0.11663540097709264,
0.09444857215714147
]