feat: clothing lane, character sources, and DCC bridges
Bulk import of the working lanes that were living untracked on the PC. Content: - characters/ Lena/male body lanes, bakes, texture work, run logs - clothing/ garment pipeline, configs, gates, contract docs - garments/ MD-authored garment sources (.zprj/.zpac) - UAL-Lib/ Universal Animation Library 2 source (.blend/.fbx/.glb) - tools/ blender_bridge, iclone_bridge, md_bridge, tailor, glm_agent - docs/, plans/, dev/, .agents/plans/ Repo hygiene: - .gitattributes: LFS now covers .blend, .zprj, .zpac, .obj, .npy and the Reallusion .iAvatar/.ccAvatar/.ccRestore containers. Without this the ~3.8 GB in this commit would land as raw blobs. .png/.jpg are left out on purpose — ~250 are already tracked raw and converting them would rewrite every one without shrinking history. - .gitignore: exclude /accurig/ (~1 GB AccuRig program files, redistributable from Reallusion, nothing authored here) and /dev/null/ (git-lfs hook copies dropped by a `>/dev/null` redirect on Windows). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"name": "piupiu_sb_test",
|
||||
"source": "C:/Users/Jeremy/tinqs/animation/tools/tailor/lena_piupiu_v2_garment.fbx",
|
||||
"body": "C:/Users/Jeremy/tinqs/ariki-game/assets/quaternius/derived-bodies/Ariki_Female_QuatSkin_SkirtRig.glb",
|
||||
"weld_threshold": 0.0006,
|
||||
"shell_mm": 4,
|
||||
"align": {
|
||||
"top_bone": "spine_01",
|
||||
"scale_xy": 0.1,
|
||||
"scale_z": 0.1,
|
||||
"z_nudge": 0.037,
|
||||
"xy_nudge": [
|
||||
0.0,
|
||||
0.0
|
||||
]
|
||||
},
|
||||
"parts": {
|
||||
"Piupiu": {
|
||||
"slot": "Legs",
|
||||
"islands": [
|
||||
0
|
||||
],
|
||||
"tris": 8000,
|
||||
"planar_deg": 5,
|
||||
"fit": {
|
||||
"target": "BODY_SHELL",
|
||||
"mask": "full",
|
||||
"offset_mm": 3,
|
||||
"wrap_mode": "OUTSIDE",
|
||||
"hem_mm": 14
|
||||
},
|
||||
"weights": "skirt_bones",
|
||||
"color": [
|
||||
0.45,
|
||||
0.35,
|
||||
0.15
|
||||
],
|
||||
"texture": "../tools/tailor/textures/piupiu.png"
|
||||
}
|
||||
},
|
||||
"export": {
|
||||
"out_dir": "C:/Users/Jeremy/tinqs/animation/clothing/work/piupiu_sb_test/export",
|
||||
"gender": "Female",
|
||||
"set": "KapahakaSBTest",
|
||||
"note": "SCRATCH export target. Deliberately NOT the shipped kapahaka folder and NOT the real KapahakaSB set id - see _note."
|
||||
},
|
||||
"catalog": {
|
||||
"id": "kapahaka_legs_sbtest_f",
|
||||
"displayName": "Piupiu (skirt bones, test)",
|
||||
"charisma": 0.1,
|
||||
"workSpeed": 0.02,
|
||||
"category": "ceremonial"
|
||||
},
|
||||
"expect": {
|
||||
"islands": {
|
||||
"count": 1,
|
||||
"mapped": {
|
||||
"0": {
|
||||
"verts": [
|
||||
3400,
|
||||
3800
|
||||
],
|
||||
"tris": [
|
||||
6800,
|
||||
7400
|
||||
],
|
||||
"z": [
|
||||
5.0,
|
||||
11.5
|
||||
],
|
||||
"x": [
|
||||
-2.6,
|
||||
2.9
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"penetration": {
|
||||
"depth_mm": 1.0,
|
||||
"max_verts": 0,
|
||||
"clips": [
|
||||
"Idle",
|
||||
"Walk"
|
||||
],
|
||||
"frames_per_clip": 6
|
||||
}
|
||||
},
|
||||
"min_island_verts": 40,
|
||||
"_note": "TEST FIXTURE for the unified clothing pipeline (garment.py + gates). Geometry/align/parts are a byte-copy of configs/piupiu_sb.json; everything else differs on purpose.\n\nDEFUSED 2026-07-31 (integration): export.out_dir used to point at the LIVE ariki-game/assets/quaternius/outfits/kapahaka and export.set was the real 'KapahakaSB', so a --to export run would have OVERWRITTEN the shipped Female_KapahakaSB_Legs.gltf. out_dir is now this config's own work dir and the set id is 'KapahakaSBTest', which collides with nothing and is deliberately absent from OutfitCatalog.cs (so G8 warns 'not registered' - that is the correct answer for a test set, and the run is safe to do end to end).\n\nexpect.islands is the measured truth from work/piupiu_sb_test/census.json: 1 island, 3620 verts, 7104 tris, z 5.184..11.126, x -2.228..2.517, in PRE-SCALE census units (align.scale_* 0.1 is applied later in `prepare`) - bounds are widened for tolerance, not tightened.\n\nexpect.penetration carries the contract defaults and IS EXPECTED TO FAIL at the `skin` stage: this garment is the shipped thigh-through-the-piupiu bug, and reproducing it headlessly is the point of G5. At `fit` (G5 --rest, written as qc/g3.json) the same block FAILS on a genuine 1-vert / 8.0mm rest-pose nick in 20_fit.blend - a real finding, deliberately not tuned away; set max_verts_rest: 1 here if a 1-vert rest budget is ever ruled acceptable."
|
||||
}
|
||||
Reference in New Issue
Block a user