Merging origin/main in ariki-game surfaced a product decision newer than this doc: Ozan removed the mesh brows, lash cards and browless-face swap from the product path. Brows are painted on the body texture again and keep their baked colour, so "brows follow the hair swatch" and the generated-surface lane are both parked. The tooling and the brow wiki page still describe the 3D lane, so the note now says to read the code before the docs there. Two consequences outlive the revert and are kept: painted brows are still atlas-bound, so the v02 re-atlas has to carry the pigment (an albedo-fidelity job now, not three artifacts to regenerate); and character_brow.gdshader is still the only mechanism that could recolour a brow on a scanned face, since raised scan geometry cannot be erased with a texture. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.