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 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 14:06:56 -07:00
parent da0567b79d
commit b918d8670f
137 changed files with 109 additions and 4 deletions
+43
View File
@@ -0,0 +1,43 @@
# Dance registry — single source of truth for names
Every dance clip in the pipeline is tracked here. **Numbers are never reused.**
## Naming system
**Stage 1 — provisional (new dances).** Every new take gets the next free `nd##`
number at conversion time, regardless of what the PC-side export was called:
pack/file `nd08`, clip `ND08`, dance JSON `nd08.json`. Variants keep the base id +
suffix: `nd08_pp` / `ND08PP`. The `nd` prefix means "not yet adopted — subject to
rename or archive". Never name a new dance after its content (a take called
"firedance1" turned out to be dance1's choreography — content-guessed names lie).
**Stage 2 — adopted (chosen for a specific dance).** When Jeremy picks a take for a
specific in-game dance, it is renamed to its **dance code**: `<style><NN>` — lowercase
pack (`haka01`, `hula02`, `fire01`), PascalCase clip (`Haka01`), variants
`haka01_pp` / `Haka01PP`. Rename with:
```bash
/Applications/Blender.app/Contents/MacOS/Blender --background --python tools/rename_clip.py -- \
--src exchange/<dir>/nd08.glb --out exchange/<dir>/haka01.glb --name Haka01
```
…then rename the dance JSON (+ its `name` and `clip` fields) in ariki-game, re-run
`game.sh import`, and `git mv` the old files out. Update the row below.
**Archive.** Rejected/superseded takes move to `archive/` (this repo) and
`archive/dances/` (ariki-game, `.gdignore`d) — never deleted, never renamed.
## Register
| id | status | pack(s) | clip | origin take | notes |
|---|---|---|---|---|---|
| — | **candidate** (legacy name) | `aloha1`, `aloha1_pp` | `Aloha1`, `Aloha1PP` | aloha1 (iClone, 2026-07-15) | hula; rename to `hula##` on adoption |
| — | **candidate** (legacy name) | `dance1`, `dance1_pp` | `Dance1`, `Dance1PP` | dance1 (iClone, 2026-07-15) | rename on adoption |
| — | **candidate** (legacy name) | `hakadance1` | `HakaDance1` | hakadance1 (iClone, 2026-07-15) | haka; rename to `haka##` on adoption |
| — | archived | `hakadance2` | `HakaDance2` | hakadance2 | near-duplicate of hakadance1 take family |
| — | archived | `alohaOG` | `AlohaOG` | alohaOG | superseded by aloha1 |
| — | archived | `firedance1` | `FireDance1` | firedance1 | **same choreography as dance1** — mislabeled export |
| — | archived | `hakaOG` | `HakaOG` | hakaOG | near-identical to hakadance1 |
| — | archived | `haka_mocap` | `HakaFull` | MediaPipe video mocap (2026-07-13) | pre-iClone experiment |
Next free provisional number: **nd01** (none issued yet — the five keepers predate
the system and keep legacy names until adopted).