Ozan 2026-08-20: 'the leg is a tube pushing in and out, not just the line.'
Proximity follow keyed off distance to the thigh AXIS, so cloth beside the
stitch line followed the line while the leg's VOLUME swept through it. With
SKIRT_FOLLOW_TUBE=1 the contact term is modulated by the vertex's radial
direction around the leg (body forward measured off foot->ball): front sector
+/-TUBE_FRONT deg follows at full strength, fading to TUBE_BACK behind.
Default off — approved recipes regenerate bit-identical. point_seg_distance
now also returns the closest point for the radial direction.
Two env-gated extensions, defaults unchanged (full skirts behave exactly as before):
- SKIRT_ALLOW_DEAD=1 — a pugu loincloth has OPEN sides by design; its bare side
strands downgrade the dead-strand FATAL to a warning.
- SKIRT_PANTS_TOP=<frac> + SKIRT_PANTS_MIX (0.65) — the garment's top fraction
is skinned like the pack's own Peasant pants (measured: crotch cloth = 49/49
both thighs, pelvis ≈ 0 below the waistband), mixed with the strand weights
so leg colliders keep authority; blends into pure strands below.
Consumed by ariki-game tools/build_pugu_tifi.py garments (pugu/tapa skirts).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BLpZsSvLufgVri2bhvmAS6
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>