Files
calesthio 7837bfee4a ink-theater: clear code-review findings — license-clean mocap + font, fix stale clip refs
Licensing (finding 1):
- Mocap library is now 100% CMU-sourced (free for any use). Replaced the 3
  Meta/FAIR clips with CMU equivalents: wave=141_16, shuffle=77_29 (creep);
  dropped the un-CMU "dab", added twist=141_12. Deleted the 4 committed FAIR
  BVHs (dab/jumping/wave_hello/zombie).
- Ship Patrick Hand's SIL OFL license (assets/OFL.txt) beside the bundled font
  — OFL permits embedding/redistribution; this is the required attribution.
- Add THIRD_PARTY_NOTICES.md (Patrick Hand OFL + CMU) and rewrite mocap/NOTE.md
  to drop the "verify before commercial use" caveat (no longer applicable).

Stale clip names (finding 2):
- Update the /ink-art command files (.claude/.github/.cursor/.codex),
  character-design-director, and the creative skills to the current catalog
  (wave/twist/…), and point to add-motion.mjs.
- ink-puppet.js: console.warn on an unknown clip name instead of silent dead-time.

Examples (finding 3):
- Remove broken standalone reel.html/momentum.html (they referenced a missing
  ink-theater.js and momentum shipped the subset font the fix warns against).
- Keep mocap-figure/ as the canonical self-contained, lintable example; refresh
  its bundled clips.js/ink-puppet.js; add examples/README.md with the lint path.
2026-07-01 04:03:19 -07:00

1.1 KiB

Mocap provenance & licensing

All bundled clips derive from the CMU Graphics Lab Motion Capture Database (http://mocap.cs.cmu.edu), which is free for all uses, research and commercial. BVH files are fetched from the una-dinosauria/cmu-mocap mirror; clips.js / clips/*.json are 2D derivations produced by bvh2clip.mjs. Per-clip source trial IDs live in catalog.json (e.g. wave = CMU 141_16, shuffle = CMU 77_29). See ../THIRD_PARTY_NOTICES.md for the full attribution.

Add a motion (self-extending — no code changes)

node add-motion.mjs <name> <cmu-id|url|path> [category] "[description]"
# e.g.  node add-motion.mjs backflip 90_01 dance "a backflip"

This fetches the BVH, converts it (auto-mapping fair1 / CMU / Mixamo skeletons), rebundles clips.js, and updates catalog.json. CMU has thousands of clips (walk, run, dance, wave, jump, …). Prefer CMU for anything shipped — it keeps the library license-clean. Different skeletons may need an alias added to the ALIAS table in bvh2clip.mjs, and --axis xy|zy to pick the projection plane.