tailor(voyager): strapless bandeau lane -- elastic-free zero-g recipe + 23-variant work log

Female voyager bandeau top from the fc-voyager-kilt-gpt refs. Winning
construction (md_final_v16/v23): seamless-loop doctrine -- NO edge elastic
(gathering is what notched the armpit junctions), body-snug cut, zero-g wrap
(SetSimulationGravity(0) BEFORE ResetClothArrangement -- one full-gravity
materialization tick drops the bistable tube into the low basin), stiff 40f
positioning then soft 110f conform, self-measuring retry loop.

Hard-won facts logged in the scripts: strapless garments never survive full
gravity (frictionless skin + stretchy elastic); arrangement x IS azimuth
(Body_Back_Center_1 native x=0, forcing 50/50 sews both panels into a front
pouch); SetArrangementOrientation flips panel facing but mirrors it L/R;
frozen cloth renders cyan; back panel textured face points at the skin --
fix is manual Flip Normal (no API).

Texture: positioned plait/rope/fringe tile spanning the 170mm panel once
(hem anchors at v=0.5 and wraps). manual_fit_backup.zprj preserves Can's
hand-fitted drape. Exports still pending final drape approval.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Can Narin
2026-08-18 22:46:31 +03:00
parent fea96bf582
commit 0fae2b514c
38 changed files with 3410 additions and 0 deletions
@@ -0,0 +1,65 @@
{
"name": "voyager_bandeau_v1",
"_worksheet": {
"block": "custom strapless band (fitted_top numbers, no straps)",
"reference": "docs/conceptart/generated-images/female-clothing/fc-voyager-kilt-gpt-piece-top*.png",
"placement": {"band_top_z": 1.31, "hem_z": 1.14, "tol_m": 0.03},
"body_circ_mm": {"bust_max": 1083.4, "at_top_1.31": 917.4, "at_hem_1.14": 794.4},
"ease_mm": 17,
"panel": "hexagon: bust-width waist at y=123.6, tapered to snug top and hem",
"hold_mechanism": "top edge cut 467 vs 550 needed to clear the bust; elastic cinch mid-settle (strength 60 -- default never reaches target)",
"lines": {"top": 0, "side_r_up": 1, "side_r_low": 2, "hem": 3, "side_l_low": 4, "side_l_up": 5},
"strapless_rationale": "reference has no straps; skill says straps-beat-tubes, but a tube can only slide down by stretching its 467mm top edge over the 550mm bust -- geometry blocks it. If QC shows it slid to the underbust anyway, v2 adds straps."
},
"md": {
"reset": "new_project",
"avatar_fbx": "C:/Users/CAN/tinqs-ltd/animation/tools/tailor/avatar/Lena_QuatSkin_Avatar.fbx",
"avatar_scale": 10.0,
"add_arrangement_points": true,
"auto_translate": true,
"zfab": "C:/Users/Public/Documents/MarvelousDesigner/New Assets/Fabric/(Default for Simulation).zfab",
"texture": "C:/Users/CAN/tinqs-ltd/animation/tools/tailor/textures/voyager_bandeau.png",
"panels": [
{"name": "front", "dx": 0.0,
"note": "strapless band: W 550.2 at bust (circ 1083.4 + ease 17), top 467.2, hem 405.7, H 170",
"points": [[41.5, 170.0], [508.7, 170.0], [550.2, 123.6], [478.0, 0.0], [72.2, 0.0], [0.0, 123.6]]},
{"name": "back", "dx": 800.2,
"note": "identical panel; lines 0 top | 1 sideR-up | 2 sideR-low | 3 hem | 4 sideL-low | 5 sideL-up",
"points": [[41.5, 170.0], [508.7, 170.0], [550.2, 123.6], [478.0, 0.0], [72.2, 0.0], [0.0, 123.6]]}
],
"seams": [
{"a": "front", "a_line": 1, "b": "back", "b_line": 1, "reverse_a": true, "reverse_b": true},
{"a": "front", "a_line": 2, "b": "back", "b_line": 2, "reverse_a": true, "reverse_b": true},
{"a": "front", "a_line": 4, "b": "back", "b_line": 4, "reverse_a": true, "reverse_b": true},
{"a": "front", "a_line": 5, "b": "back", "b_line": 5, "reverse_a": true, "reverse_b": true}
],
"arrangements": [
{"panel": "front", "point": "Body_Front_Center_1", "offset": [50, 55, 50]},
{"panel": "back", "point": "Body_Back_Center_1", "offset": [50, 55, 50]}
],
"sim": {
"strengthen": true,
"settle_frames": 250,
"elastic": [
{"panel": "front", "line": 0, "total_length": 450.0, "strength": 60},
{"panel": "back", "line": 0, "total_length": 450.0, "strength": 60},
{"panel": "front", "line": 3, "total_length": 390.0, "strength": 60},
{"panel": "back", "line": 3, "total_length": 390.0, "strength": 60}
],
"elastic_frames": 80,
"relax_frames": 50
},
"cam_viewpoint": 2,
"presim_snapshot": "C:/Users/CAN/AppData/Local/Temp/claude/C--Users-CAN-tinqs-ltd-docs/3744fd8e-1342-446c-9677-7aafbafc8d18/scratchpad/voyager_bandeau_presim.png",
"snapshot": "C:/Users/CAN/AppData/Local/Temp/claude/C--Users-CAN-tinqs-ltd-docs/3744fd8e-1342-446c-9677-7aafbafc8d18/scratchpad/voyager_bandeau_front.png",
"back_snapshot": "C:/Users/CAN/AppData/Local/Temp/claude/C--Users-CAN-tinqs-ltd-docs/3744fd8e-1342-446c-9677-7aafbafc8d18/scratchpad/voyager_bandeau_back.png",
"export_dir": "C:/Users/CAN/tinqs-ltd/animation/tools/tailor",
"export_basename": "lena_voyager_bandeau_v1",
"exports": []
},
"expect": {
"bands": {
"voyager_bandeau_v1": {"top_m": 1.31, "bottom_m": 1.14, "tol_m": 0.03, "from": "cover"}
}
}
}