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.
animation
Jeremy's animation-pipeline hub AND the Mac↔PC bridge for converting files and implementing animations. iClone 8 + Video Mocap live on the PC; Blender 5, the retarget tools, and the ariki-game repo live on both. This repo carries the skills, tools, and the files in flight between machines.
Bridge workflow (Mac↔PC)
-
PC: export FBX from iClone (Blender preset, Range=All, Preserve Bone Names ON) → drop into
exchange/incoming-fbx/→ commit +tinqs push. -
Either machine:
tinqs pull, run the retargeter →blender --background --python tools/cc_retarget.py -- \ --src exchange/incoming-fbx/<take>.fbx \ --out exchange/converted-glb/<pack>.glb --name <ClipName> \ --target <path-to-ariki Superhero_Male_FullBody.gltf>→ commit the GLB +
tinqs push. -
Implementing machine: copy the GLB into ariki-game
assets/quaternius/dancegen/(auto-discovered by ClipCatalog as<pack>/<ClipName>), add a dance JSON, verify in the dance test bed. -
Optional: reference footage for QA goes in
exchange/reference-video/.
Large binaries (.fbx, .glb, .mp4, .task) ride Git LFS — see
.gitattributes. Clean out exchange/ folders once a take has shipped
into the game repo.
Layout
.claude/skills/— Claude Code skills (auto-discovered when running Claude here)animation-creation/— creating clips on the shared Quaternius skeleton: existing packs, Mixamo/Kevin retargeting, composite baking, dance JSON (paths reference the ariki-game repo)iclone-video-mocap/— iClone 8 + Video Mocap plugin advisory: filming rules, workflow, cleanup, FBX export, game integrationpose-estimation/— MediaPipe video→pose-landmark extraction (scripts/extract_pose.py,compare_poses.py; models inmodels/, venv rebuilt viascripts/setup.sh)retarget-animations/— deprecated early retarget notes (kept for history)
tools/— Blender-headless retargeters (all bake onto the Quaternius rig and export mesh-stripped GLB, one NLA track per clip)cc_retarget.py— Reallusion CC/iCloneCC_Base_*FBX (60fps; TempMotion guard)mixamo_retarget.py— Mixamo FBX (prefix auto-detect)kevin_retarget.py— Kevin Iglesias Unity FBX (B-*rig; hardcoded target path — non-portable)mocap_retarget.py— MediaPipe pose JSON → GLB (rotation solving, no source armature)bake_run_punch.mjs— composite upper/lower clip baking reference
AGENTS.md/.agents/— agent context (identity, wiki, plans, rules); seeAGENTS.mdfor the knowledge map
Canonical target rig
All retargeters default to ariki-game's
assets/quaternius/base-characters/.../Godot - UE/Superhero_Male_FullBody.gltf
via a repo-relative path — when running from this repo, pass --target with an
explicit path to that GLTF (or a local copy). Output GLBs are consumed by
ariki-game's ClipCatalog from assets/quaternius/{kevin,mixamo,dancegen}/ as
<pack>/<ClipName>.
Provenance
Copied (not yet removed) from ariki-game tools/ + .claude/skills/ +
.agents/plans/, and ~/.claude/skills/pose-estimation. The ariki-game
originals are still in place; the Windows-side iClone FBX conversion handoff
(ariki-game/.agents/handoff/iclone-fbx-conversion.md) depends on them.