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.
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.