From b918d8670f9c8a22fad78bd5d6b52f7b31dcb1c2 Mon Sep 17 00:00:00 2001 From: Jeremy Kashkett Date: Thu, 16 Jul 2026 14:06:56 -0700 Subject: [PATCH] feat(naming): dance registry + two-stage naming system; archive non-keepers Keep aloha1(+pp), dance1(+pp), hakadance1. Archive hakadance2, alohaOG, firedance1, hakaOG (all variants) to archive/. New dances get provisional nd## ids at conversion; rename to a dance code (haka01 etc.) only on adoption via tools/rename_clip.py. Registry: docs/dances/REGISTRY.md. Co-Authored-By: Claude Fable 5 --- .claude/skills/animation/SKILL.md | 18 ++++-- .../converted-glb/alohaOG.glb | 0 .../converted-glb/firedance1.glb | 0 .../converted-glb/hakaOG.glb | 0 .../converted-glb/hakadance2.glb | 0 .../alohaOG.fbm/Std_Eyelash_Opacity.jpg | Bin .../alohaOG.fbm/Std_Nails_Normal.png | Bin .../alohaOG.fbm/Std_Skin_Arm_Normal.png | Bin .../alohaOG.fbm/Std_Skin_Body_Normal.png | Bin .../alohaOG.fbm/Std_Skin_Head_Normal.png | Bin .../alohaOG.fbm/Std_Skin_Leg_Normal.png | Bin .../alohaOG.fbm/Std_Tongue_Opacity.png | Bin .../incoming-fbx/alohaOG.fbx | 0 .../incoming-fbx/alohaOG.json | 0 .../firedance1.fbm/Std_Eyelash_Opacity.jpg | Bin .../firedance1.fbm/Std_Nails_Normal.png | Bin .../firedance1.fbm/Std_Skin_Arm_Normal.png | Bin .../firedance1.fbm/Std_Skin_Body_Normal.png | Bin .../firedance1.fbm/Std_Skin_Head_Normal.png | Bin .../firedance1.fbm/Std_Skin_Leg_Normal.png | Bin .../firedance1.fbm/Std_Tongue_Opacity.png | Bin .../incoming-fbx/firedance1.fbx | 0 .../incoming-fbx/firedance1.json | 0 .../hakaOG.fbm/Std_Eyelash_Opacity.jpg | Bin .../hakaOG.fbm/Std_Nails_Normal.png | Bin .../hakaOG.fbm/Std_Skin_Arm_Normal.png | Bin .../hakaOG.fbm/Std_Skin_Body_Normal.png | Bin .../hakaOG.fbm/Std_Skin_Head_Normal.png | Bin .../hakaOG.fbm/Std_Skin_Leg_Normal.png | Bin .../hakaOG.fbm/Std_Tongue_Opacity.png | Bin {exchange => archive}/incoming-fbx/hakaOG.fbx | 0 .../incoming-fbx/hakaOG.json | 0 .../hakadance2.fbm/Std_Eyelash_Opacity.jpg | Bin .../hakadance2.fbm/Std_Nails_Normal.png | Bin .../hakadance2.fbm/Std_Skin_Arm_Normal.png | Bin .../hakadance2.fbm/Std_Skin_Body_Normal.png | Bin .../hakadance2.fbm/Std_Skin_Head_Normal.png | Bin .../hakadance2.fbm/Std_Skin_Leg_Normal.png | Bin .../hakadance2.fbm/Std_Tongue_Opacity.png | Bin .../hakadance2.fbm/Std_Tongue_Reflection.png | Bin .../incoming-fbx/hakadance2.fbx | 0 .../incoming-fbx/hakadance2.json | 0 .../Std_Eyelash/Std_Eyelash_ao.jpg | Bin .../Std_Eyelash/Std_Eyelash_roughness.jpg | Bin .../Std_Nails/Std_Nails_TransMap.png | Bin .../CC_Base_Body/Std_Nails/Std_Nails_ao.jpg | Bin .../Std_Nails/Std_Nails_roughness.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_SSSMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_TransMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_ao.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_roughness.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_SSSMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_TransMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_ao.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_roughness.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_SSSMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_TransMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_ao.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_roughness.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_SSSMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_TransMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_ao.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_roughness.jpg | Bin .../Std_Eyelash/Std_Eyelash_ao.jpg | Bin .../Std_Eyelash/Std_Eyelash_roughness.jpg | Bin .../Std_Nails/Std_Nails_TransMap.png | Bin .../CC_Base_Body/Std_Nails/Std_Nails_ao.jpg | Bin .../Std_Nails/Std_Nails_roughness.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_SSSMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_TransMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_ao.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_roughness.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_SSSMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_TransMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_ao.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_roughness.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_SSSMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_TransMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_ao.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_roughness.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_SSSMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_TransMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_ao.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_roughness.jpg | Bin .../Std_Eyelash/Std_Eyelash_ao.jpg | Bin .../Std_Eyelash/Std_Eyelash_roughness.jpg | Bin .../Std_Nails/Std_Nails_TransMap.png | Bin .../CC_Base_Body/Std_Nails/Std_Nails_ao.jpg | Bin .../Std_Nails/Std_Nails_roughness.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_SSSMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_TransMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_ao.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_roughness.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_SSSMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_TransMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_ao.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_roughness.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_SSSMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_TransMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_ao.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_roughness.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_SSSMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_TransMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_ao.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_roughness.jpg | Bin .../Std_Nails/Std_Nails_SSSMap.jpg | Bin .../Std_Nails/Std_Nails_TransMap.png | Bin .../CC_Base_Body/Std_Nails/Std_Nails_ao.jpg | Bin .../Std_Nails/Std_Nails_roughness.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_SSSMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_TransMap.png | Bin .../Std_Skin_Arm/Std_Skin_Arm_ao.jpg | Bin .../Std_Skin_Arm/Std_Skin_Arm_roughness.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_SSSMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_TransMap.png | Bin .../Std_Skin_Body/Std_Skin_Body_ao.jpg | Bin .../Std_Skin_Body/Std_Skin_Body_roughness.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_SSSMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_SpecMask.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_TransMap.png | Bin .../Std_Skin_Head/Std_Skin_Head_ao.jpg | Bin .../Std_Skin_Head/Std_Skin_Head_roughness.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_SSSMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_TransMap.png | Bin .../Std_Skin_Leg/Std_Skin_Leg_ao.jpg | Bin .../Std_Skin_Leg/Std_Skin_Leg_roughness.jpg | Bin {exchange => archive}/looped-glb/alohaOG.glb | 0 .../looped-glb/firedance1.glb | 0 {exchange => archive}/looped-glb/hakaOG.glb | 0 .../looped-glb/hakadance2.glb | 0 .../pingpong-glb/alohaOG_pp.glb | 0 .../pingpong-glb/firedance1_pp.glb | 0 .../pingpong-glb/hakaOG_pp.glb | 0 .../pingpong-glb/hakadance1_pp.glb | 0 .../pingpong-glb/hakadance2_pp.glb | 0 docs/dances/REGISTRY.md | 43 +++++++++++++++ tools/rename_clip.py | 52 ++++++++++++++++++ 137 files changed, 109 insertions(+), 4 deletions(-) rename {exchange => archive}/converted-glb/alohaOG.glb (100%) rename {exchange => archive}/converted-glb/firedance1.glb (100%) rename {exchange => archive}/converted-glb/hakaOG.glb (100%) rename {exchange => archive}/converted-glb/hakadance2.glb (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbm/Std_Eyelash_Opacity.jpg (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbm/Std_Nails_Normal.png (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbm/Std_Skin_Arm_Normal.png (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbm/Std_Skin_Body_Normal.png (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbm/Std_Skin_Head_Normal.png (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbm/Std_Skin_Leg_Normal.png (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbm/Std_Tongue_Opacity.png (100%) rename {exchange => archive}/incoming-fbx/alohaOG.fbx (100%) rename {exchange => archive}/incoming-fbx/alohaOG.json (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbm/Std_Eyelash_Opacity.jpg (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbm/Std_Nails_Normal.png (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbm/Std_Skin_Arm_Normal.png (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbm/Std_Skin_Body_Normal.png (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbm/Std_Skin_Head_Normal.png (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbm/Std_Skin_Leg_Normal.png (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbm/Std_Tongue_Opacity.png (100%) rename {exchange => archive}/incoming-fbx/firedance1.fbx (100%) rename {exchange => archive}/incoming-fbx/firedance1.json (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbm/Std_Eyelash_Opacity.jpg (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbm/Std_Nails_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbm/Std_Skin_Arm_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbm/Std_Skin_Body_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbm/Std_Skin_Head_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbm/Std_Skin_Leg_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbm/Std_Tongue_Opacity.png (100%) rename {exchange => archive}/incoming-fbx/hakaOG.fbx (100%) rename {exchange => archive}/incoming-fbx/hakaOG.json (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Eyelash_Opacity.jpg (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Nails_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Skin_Arm_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Skin_Body_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Skin_Head_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Skin_Leg_Normal.png (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Tongue_Opacity.png (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbm/Std_Tongue_Reflection.png (100%) rename {exchange => archive}/incoming-fbx/hakadance2.fbx (100%) rename {exchange => archive}/incoming-fbx/hakadance2.json (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Eyelash/Std_Eyelash_ao.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Eyelash/Std_Eyelash_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Nails/Std_Nails_TransMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Nails/Std_Nails_ao.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Nails/Std_Nails_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_TransMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_ao.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_TransMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_ao.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_TransMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_ao.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_TransMap.png (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_ao.jpg (100%) rename {exchange/incoming-fbx/textures/alohaOG => archive/incoming-fbx/textures-alohaOG}/alohaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Eyelash/Std_Eyelash_ao.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Eyelash/Std_Eyelash_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Nails/Std_Nails_TransMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Nails/Std_Nails_ao.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Nails/Std_Nails_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_TransMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_ao.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_TransMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_ao.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_TransMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_ao.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_TransMap.png (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_ao.jpg (100%) rename {exchange/incoming-fbx/textures/firedance1 => archive/incoming-fbx/textures-firedance1}/firedance1/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Eyelash/Std_Eyelash_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Eyelash/Std_Eyelash_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Nails/Std_Nails_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Nails/Std_Nails_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Nails/Std_Nails_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakaOG => archive/incoming-fbx/textures-hakaOG}/hakaOG/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Nails/Std_Nails_SSSMap.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Nails/Std_Nails_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Nails/Std_Nails_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Nails/Std_Nails_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Arm/Std_Skin_Arm_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Body/Std_Skin_Body_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_SpecMask.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Head/Std_Skin_Head_roughness.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_SSSMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_TransMap.png (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_ao.jpg (100%) rename {exchange/incoming-fbx/textures/hakadance2 => archive/incoming-fbx/textures-hakadance2}/hakadance2/CC_Base_Body/Std_Skin_Leg/Std_Skin_Leg_roughness.jpg (100%) rename {exchange => archive}/looped-glb/alohaOG.glb (100%) rename {exchange => archive}/looped-glb/firedance1.glb (100%) rename {exchange => archive}/looped-glb/hakaOG.glb (100%) rename {exchange => archive}/looped-glb/hakadance2.glb (100%) rename {exchange => archive}/pingpong-glb/alohaOG_pp.glb (100%) rename {exchange => archive}/pingpong-glb/firedance1_pp.glb (100%) rename {exchange => archive}/pingpong-glb/hakaOG_pp.glb (100%) rename {exchange => archive}/pingpong-glb/hakadance1_pp.glb (100%) rename {exchange => archive}/pingpong-glb/hakadance2_pp.glb (100%) create mode 100644 docs/dances/REGISTRY.md create mode 100644 tools/rename_clip.py diff --git a/.claude/skills/animation/SKILL.md b/.claude/skills/animation/SKILL.md index 309deff..4feb42a 100644 --- a/.claude/skills/animation/SKILL.md +++ b/.claude/skills/animation/SKILL.md @@ -31,10 +31,20 @@ This skill is the accumulated **do-it-this-way** knowledge from real runs. ``` Blender here is **5.1.2**. When running from this repo the `--target` is **required** — the tool's default target path is ariki-relative and won't resolve. -## Naming conventions (must be internally consistent) -- **Pack name = GLB basename** (lowercase): `aloha1`, `dance1`, `hakadance2`. -- **Clip name = `--name` = the animation name baked into the GLB** (PascalCase): `Aloha1`, `Dance1`, `HakaDance2`. -- **Clip ref in JSON = `/`**: `aloha1/Aloha1`. +## Naming system (registry: `docs/dances/REGISTRY.md` — read it, it is the source of truth) +Two-stage names. **New dances get a provisional id, never a content name**: at +conversion, assign the next free `nd##` from the registry — pack `nd08`, clip `ND08`, +JSON `nd08.json`, variants `nd08_pp`/`ND08PP` — regardless of what the PC export was +called (a take named "firedance1" turned out to be dance1's choreography). Only when +Jeremy **adopts** a take for a specific in-game dance is it renamed to its dance code: +`