feat(assets): wardrobe wave 1 — per-body shells, 8 garments, try-on UI (T-1089)

Infra: offset-shell gains --per-body mode (each body's own segments, cut/mask
thresholds derived from that body's bone landmarks — reproduces the
hand-calibrated reference constants exactly on average_m); compositor prefers
<body>_mask.png with reference_mask.png fallback; tshirt re-authored per-body
on all 11 (the Q-060 torso poke-through class is GONE — residual flags are a
sleeve-hem epsilon artifact on thick arms, offset-insensitive, documented).

Garments (all per-body x 11, chromakey-gated <=150px worst, previewed):
hoodie (hood-down roll, kangaroo pocket, logo), button-down (collar/placket),
shorts, jeans (analytic denim field driving albedo+mask together; boundary
weld + open-rim flattening — real segment-splitter findings), formal pants,
jacket (over-shirt standoff, zip), suit_jacket_black (lapel region, tintable
shirt triangle — the hand-author proof), uniform_utility (11-segment
coverall, gap-free waist join by construction, 4-zone showcase, logo patch).

Try-on UI: creation screen shows per-region tint pickers (multi_region
garments) + logo picker (logo_capable + logos/*.png scan), data-driven off
manifest+coverage. Manifest merged by the lead: 12 clothing entries.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 00:35:20 +02:00
co-authored by Claude Fable 5
parent dd0d220846
commit c765efd54e
345 changed files with 5369 additions and 54 deletions
+78
View File
@@ -59,6 +59,84 @@
"slot": "torso",
"style": "modern",
"logo_capable": true
},
"hoodie_modern": {
"slot": "torso",
"style": "modern",
"logo_capable": true
},
"buttondown_modern": {
"slot": "torso",
"style": "modern",
"logo_capable": false
},
"shorts_modern": {
"slot": "legs",
"style": "modern",
"logo_capable": false
},
"jeans_modern": {
"slot": "legs",
"style": "modern",
"logo_capable": false
},
"pants_formal": {
"slot": "legs",
"style": "formal",
"logo_capable": false
},
"jacket_modern": {
"slot": "torso",
"style": "modern",
"logo_capable": true
},
"suit_jacket_black": {
"slot": "torso",
"style": "formal",
"logo_capable": false,
"regions": {
"R": "lapels_collar",
"G": "jacket_body",
"B": "sleeves",
"A": "shirt_triangle"
},
"default_tints": [
[
0.13,
0.13,
0.16,
1
],
[
0.09,
0.09,
0.11,
1
],
[
0.09,
0.09,
0.11,
1
],
[
0.93,
0.93,
0.96,
1
]
]
},
"uniform_utility": {
"slot": "full_body",
"style": "utility",
"logo_capable": true,
"default_tints": [
"#3b474f",
"#6b8280",
"#d18c2e",
"#d9dee0"
]
}
},
"accessories": []