exptech commited on
Commit
2d78b0c
·
verified ·
1 Parent(s): 895c063

Upload folder using huggingface_hub

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. CLAUDE.md +13 -0
  2. app.js +45 -19
  3. data.json +192 -383
  4. g1-moves/CLAUDE.md +7 -0
  5. g1-moves/space/CLAUDE.md +7 -0
  6. generate_data.py +150 -0
  7. media/bonus/B_Fence1/capture/B_Fence1.mp4 +0 -0
  8. media/bonus/B_Fence1/policy/B_Fence1_policy.mp4 +0 -0
  9. media/bonus/B_Fence1/retarget/B_Fence1_retarget.mp4 +0 -0
  10. media/bonus/B_Fence1/training/B_Fence1_training.mp4 +0 -0
  11. media/bonus/B_Fence2/capture/B_Fence2.mp4 +0 -0
  12. media/bonus/B_Fence2/policy/B_Fence2_policy.mp4 +0 -0
  13. media/bonus/B_Fence2/retarget/B_Fence2_retarget.mp4 +0 -0
  14. media/bonus/B_Fence2/training/B_Fence2_training.mp4 +0 -0
  15. media/bonus/B_HandsChop/capture/B_HandsChop.mp4 +0 -0
  16. media/bonus/B_HandsChop/policy/B_HandsChop_policy.mp4 +0 -0
  17. media/bonus/B_HandsChop/retarget/B_HandsChop_retarget.mp4 +0 -0
  18. media/bonus/B_HandsChop/training/B_HandsChop_training.mp4 +0 -0
  19. media/bonus/B_HandsUp/capture/B_HandsUp.mp4 +0 -0
  20. media/bonus/B_HandsUp/policy/B_HandsUp_policy.mp4 +0 -0
  21. media/bonus/B_HandsUp/retarget/B_HandsUp_retarget.mp4 +0 -0
  22. media/bonus/B_HandsUp/training/B_HandsUp_training.mp4 +0 -0
  23. media/dance/B_DadDance/capture/B_DadDance.mp4 +0 -0
  24. media/dance/B_DadDance/retarget/B_DadDance_retarget.mp4 +0 -0
  25. media/dance/B_DadDance/training/B_DadDance_training.mp4 +0 -0
  26. media/dance/B_LongDance/capture/B_LongDance.mp4 +0 -0
  27. media/dance/B_LongDance/policy/B_LongDance_policy.mp4 +0 -0
  28. media/dance/B_LongDance/retarget/B_LongDance_retarget.mp4 +0 -0
  29. media/dance/B_LongDance/training/B_LongDance_training.mp4 +0 -0
  30. media/dance/B_SpiralDance/capture/B_SpiralDance.mp4 +0 -0
  31. media/dance/B_SpiralDance/policy/B_SpiralDance_policy.mp4 +0 -0
  32. media/dance/B_SpiralDance/retarget/B_SpiralDance_retarget.mp4 +0 -0
  33. media/dance/B_SpiralDance/training/B_SpiralDance_training.mp4 +0 -0
  34. media/dance/B_StretchDance/capture/B_StretchDance.mp4 +0 -0
  35. media/dance/B_StretchDance/policy/B_StretchDance_policy.mp4 +0 -0
  36. media/dance/B_StretchDance/retarget/B_StretchDance_retarget.mp4 +0 -0
  37. media/dance/B_StretchDance/training/B_StretchDance_training.mp4 +0 -0
  38. media/dance/B_WiggleDance/capture/B_WiggleDance.mp4 +0 -0
  39. media/dance/B_WiggleDance/retarget/B_WiggleDance_retarget.mp4 +0 -0
  40. media/dance/B_WiggleDance/training/B_WiggleDance_training.mp4 +0 -0
  41. media/dance/J_Dance0_StepTouch/capture/J_Dance0_StepTouch.mp4 +0 -0
  42. media/dance/J_Dance0_StepTouch/retarget/J_Dance0_StepTouch_retarget.mp4 +0 -0
  43. media/dance/J_Dance0_StepTouch/training/J_Dance0_StepTouch_training.mp4 +0 -0
  44. media/dance/J_Dance11_Gnarly/capture/J_Dance11_Gnarly.mp4 +0 -0
  45. media/dance/J_Dance11_Gnarly/policy/J_Dance11_Gnarly_policy.mp4 +0 -0
  46. media/dance/J_Dance11_Gnarly/retarget/J_Dance11_Gnarly_retarget.mp4 +0 -0
  47. media/dance/J_Dance11_Gnarly/training/J_Dance11_Gnarly_training.mp4 +0 -0
  48. media/dance/J_Dance12_LushLife/capture/J_Dance12_LushLife.mp4 +0 -0
  49. media/dance/J_Dance12_LushLife/retarget/J_Dance12_LushLife_retarget.mp4 +0 -0
  50. media/dance/J_Dance12_LushLife/training/J_Dance12_LushLife_training.mp4 +0 -0
CLAUDE.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <claude-mem-context>
2
+ # Recent Activity
3
+
4
+ <!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
5
+
6
+ ### Mar 3, 2026
7
+
8
+ | ID | Time | T | Title | Read |
9
+ |----|------|---|-------|------|
10
+ | #2119 | 2:32 PM | ✅ | HuggingFace Spaces App Enhanced with Video Support | ~307 |
11
+ | #2114 | 2:26 PM | 🟣 | HuggingFace Space Interactive Gallery Site Created | ~507 |
12
+ | #2109 | 2:21 PM | 🟣 | HuggingFace Space Configuration for G1 Moves Dataset | ~327 |
13
+ </claude-mem-context>
app.js CHANGED
@@ -86,15 +86,18 @@
86
 
87
  const stageData = clip.stages[activeStage];
88
  const mediaSrc = stageData
89
- ? baseUrl + '/' + (stageData.gif || stageData.mp4)
90
  : null;
 
91
 
92
  const stages = ['capture', 'retarget', 'training', 'policy'];
93
 
94
  card.innerHTML =
95
  '<div class="card-media">' +
96
  (mediaSrc
97
- ? '<img data-src="' + mediaSrc + '" alt="' + escHtml(clip.name) + '" loading="lazy">'
 
 
98
  : '<div class="card-placeholder">Not available</div>') +
99
  '<div class="card-duration">' + formatDuration(clip.duration) + '</div>' +
100
  (clip.has_policy ? '<div class="card-badge">TRAINED</div>' : '') +
@@ -145,18 +148,27 @@
145
  var stageData = clip.stages[stage];
146
  if (!stageData) return;
147
 
148
- var img = card.querySelector('.card-media img');
 
 
149
  var placeholder = card.querySelector('.card-placeholder');
150
-
151
- if (img) {
152
- img.src = baseUrl + '/' + (stageData.gif || stageData.mp4);
153
- img.removeAttribute('data-src');
154
- } else if (placeholder) {
155
- // Replace placeholder with an image
156
- var newImg = document.createElement('img');
157
- newImg.src = baseUrl + '/' + (stageData.gif || stageData.mp4);
158
- newImg.alt = clip.name;
159
- placeholder.replaceWith(newImg);
 
 
 
 
 
 
 
160
  }
161
 
162
  // Update active state on buttons
@@ -187,9 +199,9 @@
187
  }, { rootMargin: '300px' });
188
  }
189
 
190
- var imgs = grid.querySelectorAll('img[data-src]');
191
- for (var i = 0; i < imgs.length; i++) {
192
- lazyObserver.observe(imgs[i]);
193
  }
194
  }
195
 
@@ -287,10 +299,13 @@
287
  var label = '<div class="modal-stage-label">' + s.toUpperCase() + '</div>';
288
 
289
  if (data) {
290
- var src = baseUrl + '/' + (data.gif || data.mp4);
 
 
 
 
291
  return '<div class="modal-stage' + unavail + '">' +
292
- label +
293
- '<img src="' + src + '" alt="' + escHtml(clip.name) + ' ' + s + '" loading="lazy">' +
294
  '</div>';
295
  }
296
  return '<div class="modal-stage' + unavail + '">' +
@@ -306,6 +321,11 @@
306
  function closeModal() {
307
  modal.classList.remove('open');
308
  document.body.style.overflow = '';
 
 
 
 
 
309
  }
310
 
311
  // ------------------------------------
@@ -332,6 +352,12 @@
332
  // ------------------------------------
333
  // Utils
334
  // ------------------------------------
 
 
 
 
 
 
335
  function formatDuration(seconds) {
336
  var m = Math.floor(seconds / 60);
337
  var s = Math.round(seconds % 60);
 
86
 
87
  const stageData = clip.stages[activeStage];
88
  const mediaSrc = stageData
89
+ ? mediaUrl(stageData)
90
  : null;
91
+ const isVideo = mediaSrc && mediaSrc.endsWith('.mp4');
92
 
93
  const stages = ['capture', 'retarget', 'training', 'policy'];
94
 
95
  card.innerHTML =
96
  '<div class="card-media">' +
97
  (mediaSrc
98
+ ? (isVideo
99
+ ? '<video data-src="' + mediaSrc + '" autoplay muted loop playsinline preload="none" class="lazy-video"></video>'
100
+ : '<img data-src="' + mediaSrc + '" alt="' + escHtml(clip.name) + '" loading="lazy">')
101
  : '<div class="card-placeholder">Not available</div>') +
102
  '<div class="card-duration">' + formatDuration(clip.duration) + '</div>' +
103
  (clip.has_policy ? '<div class="card-badge">TRAINED</div>' : '') +
 
148
  var stageData = clip.stages[stage];
149
  if (!stageData) return;
150
 
151
+ var src = mediaUrl(stageData);
152
+ var isVideo = src && src.endsWith('.mp4');
153
+ var existing = card.querySelector('.card-media img, .card-media video');
154
  var placeholder = card.querySelector('.card-placeholder');
155
+ var target = existing || placeholder;
156
+
157
+ if (target) {
158
+ var newEl;
159
+ if (isVideo) {
160
+ newEl = document.createElement('video');
161
+ newEl.src = src;
162
+ newEl.autoplay = true;
163
+ newEl.muted = true;
164
+ newEl.loop = true;
165
+ newEl.playsInline = true;
166
+ } else {
167
+ newEl = document.createElement('img');
168
+ newEl.src = src;
169
+ newEl.alt = clip.name;
170
+ }
171
+ target.replaceWith(newEl);
172
  }
173
 
174
  // Update active state on buttons
 
199
  }, { rootMargin: '300px' });
200
  }
201
 
202
+ var lazies = grid.querySelectorAll('img[data-src], video[data-src]');
203
+ for (var i = 0; i < lazies.length; i++) {
204
+ lazyObserver.observe(lazies[i]);
205
  }
206
  }
207
 
 
299
  var label = '<div class="modal-stage-label">' + s.toUpperCase() + '</div>';
300
 
301
  if (data) {
302
+ var src = mediaUrl(data);
303
+ var isVid = src && src.endsWith('.mp4');
304
+ var mediaTag = isVid
305
+ ? '<video src="' + src + '" autoplay muted loop playsinline></video>'
306
+ : '<img src="' + src + '" alt="' + escHtml(clip.name) + ' ' + s + '" loading="lazy">';
307
  return '<div class="modal-stage' + unavail + '">' +
308
+ label + mediaTag +
 
309
  '</div>';
310
  }
311
  return '<div class="modal-stage' + unavail + '">' +
 
321
  function closeModal() {
322
  modal.classList.remove('open');
323
  document.body.style.overflow = '';
324
+ // Pause modal videos to stop background playback
325
+ var videos = modal.querySelectorAll('video');
326
+ for (var i = 0; i < videos.length; i++) {
327
+ videos[i].pause();
328
+ }
329
  }
330
 
331
  // ------------------------------------
 
352
  // ------------------------------------
353
  // Utils
354
  // ------------------------------------
355
+ function mediaUrl(stageData) {
356
+ var file = stageData.mp4 || stageData.gif;
357
+ if (!file) return null;
358
+ return baseUrl ? baseUrl + '/' + file : file;
359
+ }
360
+
361
  function formatDuration(seconds) {
362
  var m = Math.floor(seconds / 60);
363
  var s = Math.round(seconds % 60);
data.json CHANGED
@@ -1,5 +1,5 @@
1
  {
2
- "base_url": "https://huggingface.co/datasets/exptech/g1-moves/resolve/main",
3
  "clips": [
4
  {
5
  "id": "B_DadDance",
@@ -11,16 +11,13 @@
11
  "frames": 2509,
12
  "stages": {
13
  "capture": {
14
- "gif": "dance/B_DadDance/capture/B_DadDance.gif",
15
- "mp4": "dance/B_DadDance/capture/B_DadDance.mp4"
16
  },
17
  "retarget": {
18
- "gif": "dance/B_DadDance/retarget/B_DadDance_retarget.gif",
19
- "mp4": "dance/B_DadDance/retarget/B_DadDance_retarget.mp4"
20
  },
21
  "training": {
22
- "gif": "dance/B_DadDance/training/B_DadDance_training.gif",
23
- "mp4": "dance/B_DadDance/training/B_DadDance_training.mp4"
24
  }
25
  },
26
  "has_policy": false
@@ -35,20 +32,16 @@
35
  "frames": 7167,
36
  "stages": {
37
  "capture": {
38
- "gif": "dance/B_LongDance/capture/B_LongDance.gif",
39
- "mp4": "dance/B_LongDance/capture/B_LongDance.mp4"
40
  },
41
  "retarget": {
42
- "gif": "dance/B_LongDance/retarget/B_LongDance_retarget.gif",
43
- "mp4": "dance/B_LongDance/retarget/B_LongDance_retarget.mp4"
44
  },
45
  "training": {
46
- "gif": "dance/B_LongDance/training/B_LongDance_training.gif",
47
- "mp4": "dance/B_LongDance/training/B_LongDance_training.mp4"
48
  },
49
  "policy": {
50
- "gif": "dance/B_LongDance/policy/B_LongDance_policy.gif",
51
- "mp4": "dance/B_LongDance/policy/B_LongDance_policy.mp4"
52
  }
53
  },
54
  "has_policy": true
@@ -63,20 +56,16 @@
63
  "frames": 2868,
64
  "stages": {
65
  "capture": {
66
- "gif": "dance/B_SpiralDance/capture/B_SpiralDance.gif",
67
- "mp4": "dance/B_SpiralDance/capture/B_SpiralDance.mp4"
68
  },
69
  "retarget": {
70
- "gif": "dance/B_SpiralDance/retarget/B_SpiralDance_retarget.gif",
71
- "mp4": "dance/B_SpiralDance/retarget/B_SpiralDance_retarget.mp4"
72
  },
73
  "training": {
74
- "gif": "dance/B_SpiralDance/training/B_SpiralDance_training.gif",
75
- "mp4": "dance/B_SpiralDance/training/B_SpiralDance_training.mp4"
76
  },
77
  "policy": {
78
- "gif": "dance/B_SpiralDance/policy/B_SpiralDance_policy.gif",
79
- "mp4": "dance/B_SpiralDance/policy/B_SpiralDance_policy.mp4"
80
  }
81
  },
82
  "has_policy": true
@@ -91,20 +80,16 @@
91
  "frames": 2586,
92
  "stages": {
93
  "capture": {
94
- "gif": "dance/B_StretchDance/capture/B_StretchDance.gif",
95
- "mp4": "dance/B_StretchDance/capture/B_StretchDance.mp4"
96
  },
97
  "retarget": {
98
- "gif": "dance/B_StretchDance/retarget/B_StretchDance_retarget.gif",
99
- "mp4": "dance/B_StretchDance/retarget/B_StretchDance_retarget.mp4"
100
  },
101
  "training": {
102
- "gif": "dance/B_StretchDance/training/B_StretchDance_training.gif",
103
- "mp4": "dance/B_StretchDance/training/B_StretchDance_training.mp4"
104
  },
105
  "policy": {
106
- "gif": "dance/B_StretchDance/policy/B_StretchDance_policy.gif",
107
- "mp4": "dance/B_StretchDance/policy/B_StretchDance_policy.mp4"
108
  }
109
  },
110
  "has_policy": true
@@ -119,16 +104,13 @@
119
  "frames": 2237,
120
  "stages": {
121
  "capture": {
122
- "gif": "dance/B_WiggleDance/capture/B_WiggleDance.gif",
123
- "mp4": "dance/B_WiggleDance/capture/B_WiggleDance.mp4"
124
  },
125
  "retarget": {
126
- "gif": "dance/B_WiggleDance/retarget/B_WiggleDance_retarget.gif",
127
- "mp4": "dance/B_WiggleDance/retarget/B_WiggleDance_retarget.mp4"
128
  },
129
  "training": {
130
- "gif": "dance/B_WiggleDance/training/B_WiggleDance_training.gif",
131
- "mp4": "dance/B_WiggleDance/training/B_WiggleDance_training.mp4"
132
  }
133
  },
134
  "has_policy": false
@@ -143,16 +125,13 @@
143
  "frames": 1949,
144
  "stages": {
145
  "capture": {
146
- "gif": "dance/J_Dance0_StepTouch/capture/J_Dance0_StepTouch.gif",
147
- "mp4": "dance/J_Dance0_StepTouch/capture/J_Dance0_StepTouch.mp4"
148
  },
149
  "retarget": {
150
- "gif": "dance/J_Dance0_StepTouch/retarget/J_Dance0_StepTouch_retarget.gif",
151
- "mp4": "dance/J_Dance0_StepTouch/retarget/J_Dance0_StepTouch_retarget.mp4"
152
  },
153
  "training": {
154
- "gif": "dance/J_Dance0_StepTouch/training/J_Dance0_StepTouch_training.gif",
155
- "mp4": "dance/J_Dance0_StepTouch/training/J_Dance0_StepTouch_training.mp4"
156
  }
157
  },
158
  "has_policy": false
@@ -167,20 +146,16 @@
167
  "frames": 2709,
168
  "stages": {
169
  "capture": {
170
- "gif": "dance/J_Dance11_Gnarly/capture/J_Dance11_Gnarly.gif",
171
- "mp4": "dance/J_Dance11_Gnarly/capture/J_Dance11_Gnarly.mp4"
172
  },
173
  "retarget": {
174
- "gif": "dance/J_Dance11_Gnarly/retarget/J_Dance11_Gnarly_retarget.gif",
175
- "mp4": "dance/J_Dance11_Gnarly/retarget/J_Dance11_Gnarly_retarget.mp4"
176
  },
177
  "training": {
178
- "gif": "dance/J_Dance11_Gnarly/training/J_Dance11_Gnarly_training.gif",
179
- "mp4": "dance/J_Dance11_Gnarly/training/J_Dance11_Gnarly_training.mp4"
180
  },
181
  "policy": {
182
- "gif": "dance/J_Dance11_Gnarly/policy/J_Dance11_Gnarly_policy.gif",
183
- "mp4": "dance/J_Dance11_Gnarly/policy/J_Dance11_Gnarly_policy.mp4"
184
  }
185
  },
186
  "has_policy": true
@@ -195,16 +170,13 @@
195
  "frames": 2136,
196
  "stages": {
197
  "capture": {
198
- "gif": "dance/J_Dance12_LushLife/capture/J_Dance12_LushLife.gif",
199
- "mp4": "dance/J_Dance12_LushLife/capture/J_Dance12_LushLife.mp4"
200
  },
201
  "retarget": {
202
- "gif": "dance/J_Dance12_LushLife/retarget/J_Dance12_LushLife_retarget.gif",
203
- "mp4": "dance/J_Dance12_LushLife/retarget/J_Dance12_LushLife_retarget.mp4"
204
  },
205
  "training": {
206
- "gif": "dance/J_Dance12_LushLife/training/J_Dance12_LushLife_training.gif",
207
- "mp4": "dance/J_Dance12_LushLife/training/J_Dance12_LushLife_training.mp4"
208
  }
209
  },
210
  "has_policy": false
@@ -219,16 +191,13 @@
219
  "frames": 1922,
220
  "stages": {
221
  "capture": {
222
- "gif": "dance/J_Dance17_Shuffle/capture/J_Dance17_Shuffle.gif",
223
- "mp4": "dance/J_Dance17_Shuffle/capture/J_Dance17_Shuffle.mp4"
224
  },
225
  "retarget": {
226
- "gif": "dance/J_Dance17_Shuffle/retarget/J_Dance17_Shuffle_retarget.gif",
227
- "mp4": "dance/J_Dance17_Shuffle/retarget/J_Dance17_Shuffle_retarget.mp4"
228
  },
229
  "training": {
230
- "gif": "dance/J_Dance17_Shuffle/training/J_Dance17_Shuffle_training.gif",
231
- "mp4": "dance/J_Dance17_Shuffle/training/J_Dance17_Shuffle_training.mp4"
232
  }
233
  },
234
  "has_policy": false
@@ -243,16 +212,13 @@
243
  "frames": 1077,
244
  "stages": {
245
  "capture": {
246
- "gif": "dance/J_Dance18_TikTok/capture/J_Dance18_TikTok.gif",
247
- "mp4": "dance/J_Dance18_TikTok/capture/J_Dance18_TikTok.mp4"
248
  },
249
  "retarget": {
250
- "gif": "dance/J_Dance18_TikTok/retarget/J_Dance18_TikTok_retarget.gif",
251
- "mp4": "dance/J_Dance18_TikTok/retarget/J_Dance18_TikTok_retarget.mp4"
252
  },
253
  "training": {
254
- "gif": "dance/J_Dance18_TikTok/training/J_Dance18_TikTok_training.gif",
255
- "mp4": "dance/J_Dance18_TikTok/training/J_Dance18_TikTok_training.mp4"
256
  }
257
  },
258
  "has_policy": false
@@ -267,16 +233,13 @@
267
  "frames": 1491,
268
  "stages": {
269
  "capture": {
270
- "gif": "dance/J_Dance19_LetsGO/capture/J_Dance19_LetsGO.gif",
271
- "mp4": "dance/J_Dance19_LetsGO/capture/J_Dance19_LetsGO.mp4"
272
  },
273
  "retarget": {
274
- "gif": "dance/J_Dance19_LetsGO/retarget/J_Dance19_LetsGO_retarget.gif",
275
- "mp4": "dance/J_Dance19_LetsGO/retarget/J_Dance19_LetsGO_retarget.mp4"
276
  },
277
  "training": {
278
- "gif": "dance/J_Dance19_LetsGO/training/J_Dance19_LetsGO_training.gif",
279
- "mp4": "dance/J_Dance19_LetsGO/training/J_Dance19_LetsGO_training.mp4"
280
  }
281
  },
282
  "has_policy": false
@@ -291,16 +254,13 @@
291
  "frames": 2265,
292
  "stages": {
293
  "capture": {
294
- "gif": "dance/J_Dance1_Modern/capture/J_Dance1_Modern.gif",
295
- "mp4": "dance/J_Dance1_Modern/capture/J_Dance1_Modern.mp4"
296
  },
297
  "retarget": {
298
- "gif": "dance/J_Dance1_Modern/retarget/J_Dance1_Modern_retarget.gif",
299
- "mp4": "dance/J_Dance1_Modern/retarget/J_Dance1_Modern_retarget.mp4"
300
  },
301
  "training": {
302
- "gif": "dance/J_Dance1_Modern/training/J_Dance1_Modern_training.gif",
303
- "mp4": "dance/J_Dance1_Modern/training/J_Dance1_Modern_training.mp4"
304
  }
305
  },
306
  "has_policy": false
@@ -315,16 +275,13 @@
315
  "frames": 938,
316
  "stages": {
317
  "capture": {
318
- "gif": "dance/J_Dance20_DWG/capture/J_Dance20_DWG.gif",
319
- "mp4": "dance/J_Dance20_DWG/capture/J_Dance20_DWG.mp4"
320
  },
321
  "retarget": {
322
- "gif": "dance/J_Dance20_DWG/retarget/J_Dance20_DWG_retarget.gif",
323
- "mp4": "dance/J_Dance20_DWG/retarget/J_Dance20_DWG_retarget.mp4"
324
  },
325
  "training": {
326
- "gif": "dance/J_Dance20_DWG/training/J_Dance20_DWG_training.gif",
327
- "mp4": "dance/J_Dance20_DWG/training/J_Dance20_DWG_training.mp4"
328
  }
329
  },
330
  "has_policy": false
@@ -339,16 +296,13 @@
339
  "frames": 1725,
340
  "stages": {
341
  "capture": {
342
- "gif": "dance/J_Dance21_Blunt/capture/J_Dance21_Blunt.gif",
343
- "mp4": "dance/J_Dance21_Blunt/capture/J_Dance21_Blunt.mp4"
344
  },
345
  "retarget": {
346
- "gif": "dance/J_Dance21_Blunt/retarget/J_Dance21_Blunt_retarget.gif",
347
- "mp4": "dance/J_Dance21_Blunt/retarget/J_Dance21_Blunt_retarget.mp4"
348
  },
349
  "training": {
350
- "gif": "dance/J_Dance21_Blunt/training/J_Dance21_Blunt_training.gif",
351
- "mp4": "dance/J_Dance21_Blunt/training/J_Dance21_Blunt_training.mp4"
352
  }
353
  },
354
  "has_policy": false
@@ -363,16 +317,13 @@
363
  "frames": 1619,
364
  "stages": {
365
  "capture": {
366
- "gif": "dance/J_Dance22_Thrilling/capture/J_Dance22_Thrilling.gif",
367
- "mp4": "dance/J_Dance22_Thrilling/capture/J_Dance22_Thrilling.mp4"
368
  },
369
  "retarget": {
370
- "gif": "dance/J_Dance22_Thrilling/retarget/J_Dance22_Thrilling_retarget.gif",
371
- "mp4": "dance/J_Dance22_Thrilling/retarget/J_Dance22_Thrilling_retarget.mp4"
372
  },
373
  "training": {
374
- "gif": "dance/J_Dance22_Thrilling/training/J_Dance22_Thrilling_training.gif",
375
- "mp4": "dance/J_Dance22_Thrilling/training/J_Dance22_Thrilling_training.mp4"
376
  }
377
  },
378
  "has_policy": false
@@ -387,20 +338,16 @@
387
  "frames": 2915,
388
  "stages": {
389
  "capture": {
390
- "gif": "dance/J_Dance23_MidnightSun/capture/J_Dance23_MidnightSun.gif",
391
- "mp4": "dance/J_Dance23_MidnightSun/capture/J_Dance23_MidnightSun.mp4"
392
  },
393
  "retarget": {
394
- "gif": "dance/J_Dance23_MidnightSun/retarget/J_Dance23_MidnightSun_retarget.gif",
395
- "mp4": "dance/J_Dance23_MidnightSun/retarget/J_Dance23_MidnightSun_retarget.mp4"
396
  },
397
  "training": {
398
- "gif": "dance/J_Dance23_MidnightSun/training/J_Dance23_MidnightSun_training.gif",
399
- "mp4": "dance/J_Dance23_MidnightSun/training/J_Dance23_MidnightSun_training.mp4"
400
  },
401
  "policy": {
402
- "gif": "dance/J_Dance23_MidnightSun/policy/J_Dance23_MidnightSun_policy.gif",
403
- "mp4": "dance/J_Dance23_MidnightSun/policy/J_Dance23_MidnightSun_policy.mp4"
404
  }
405
  },
406
  "has_policy": true
@@ -415,16 +362,13 @@
415
  "frames": 2151,
416
  "stages": {
417
  "capture": {
418
- "gif": "dance/J_Dance2_Salsa/capture/J_Dance2_Salsa.gif",
419
- "mp4": "dance/J_Dance2_Salsa/capture/J_Dance2_Salsa.mp4"
420
  },
421
  "retarget": {
422
- "gif": "dance/J_Dance2_Salsa/retarget/J_Dance2_Salsa_retarget.gif",
423
- "mp4": "dance/J_Dance2_Salsa/retarget/J_Dance2_Salsa_retarget.mp4"
424
  },
425
  "training": {
426
- "gif": "dance/J_Dance2_Salsa/training/J_Dance2_Salsa_training.gif",
427
- "mp4": "dance/J_Dance2_Salsa/training/J_Dance2_Salsa_training.mp4"
428
  }
429
  },
430
  "has_policy": false
@@ -439,16 +383,13 @@
439
  "frames": 1800,
440
  "stages": {
441
  "capture": {
442
- "gif": "dance/J_Dance3_Woah/capture/J_Dance3_Woah.gif",
443
- "mp4": "dance/J_Dance3_Woah/capture/J_Dance3_Woah.mp4"
444
  },
445
  "retarget": {
446
- "gif": "dance/J_Dance3_Woah/retarget/J_Dance3_Woah_retarget.gif",
447
- "mp4": "dance/J_Dance3_Woah/retarget/J_Dance3_Woah_retarget.mp4"
448
  },
449
  "training": {
450
- "gif": "dance/J_Dance3_Woah/training/J_Dance3_Woah_training.gif",
451
- "mp4": "dance/J_Dance3_Woah/training/J_Dance3_Woah_training.mp4"
452
  }
453
  },
454
  "has_policy": false
@@ -463,16 +404,13 @@
463
  "frames": 1677,
464
  "stages": {
465
  "capture": {
466
- "gif": "dance/J_Dance4_Broadway/capture/J_Dance4_Broadway.gif",
467
- "mp4": "dance/J_Dance4_Broadway/capture/J_Dance4_Broadway.mp4"
468
  },
469
  "retarget": {
470
- "gif": "dance/J_Dance4_Broadway/retarget/J_Dance4_Broadway_retarget.gif",
471
- "mp4": "dance/J_Dance4_Broadway/retarget/J_Dance4_Broadway_retarget.mp4"
472
  },
473
  "training": {
474
- "gif": "dance/J_Dance4_Broadway/training/J_Dance4_Broadway_training.gif",
475
- "mp4": "dance/J_Dance4_Broadway/training/J_Dance4_Broadway_training.mp4"
476
  }
477
  },
478
  "has_policy": false
@@ -487,16 +425,13 @@
487
  "frames": 1896,
488
  "stages": {
489
  "capture": {
490
- "gif": "dance/J_Dance5_Hype/capture/J_Dance5_Hype.gif",
491
- "mp4": "dance/J_Dance5_Hype/capture/J_Dance5_Hype.mp4"
492
  },
493
  "retarget": {
494
- "gif": "dance/J_Dance5_Hype/retarget/J_Dance5_Hype_retarget.gif",
495
- "mp4": "dance/J_Dance5_Hype/retarget/J_Dance5_Hype_retarget.mp4"
496
  },
497
  "training": {
498
- "gif": "dance/J_Dance5_Hype/training/J_Dance5_Hype_training.gif",
499
- "mp4": "dance/J_Dance5_Hype/training/J_Dance5_Hype_training.mp4"
500
  }
501
  },
502
  "has_policy": false
@@ -511,16 +446,13 @@
511
  "frames": 1914,
512
  "stages": {
513
  "capture": {
514
- "gif": "dance/J_Dance6_Sassy/capture/J_Dance6_Sassy.gif",
515
- "mp4": "dance/J_Dance6_Sassy/capture/J_Dance6_Sassy.mp4"
516
  },
517
  "retarget": {
518
- "gif": "dance/J_Dance6_Sassy/retarget/J_Dance6_Sassy_retarget.gif",
519
- "mp4": "dance/J_Dance6_Sassy/retarget/J_Dance6_Sassy_retarget.mp4"
520
  },
521
  "training": {
522
- "gif": "dance/J_Dance6_Sassy/training/J_Dance6_Sassy_training.gif",
523
- "mp4": "dance/J_Dance6_Sassy/training/J_Dance6_Sassy_training.mp4"
524
  }
525
  },
526
  "has_policy": false
@@ -535,20 +467,16 @@
535
  "frames": 2773,
536
  "stages": {
537
  "capture": {
538
- "gif": "dance/J_Dance7_Party/capture/J_Dance7_Party.gif",
539
- "mp4": "dance/J_Dance7_Party/capture/J_Dance7_Party.mp4"
540
  },
541
  "retarget": {
542
- "gif": "dance/J_Dance7_Party/retarget/J_Dance7_Party_retarget.gif",
543
- "mp4": "dance/J_Dance7_Party/retarget/J_Dance7_Party_retarget.mp4"
544
  },
545
  "training": {
546
- "gif": "dance/J_Dance7_Party/training/J_Dance7_Party_training.gif",
547
- "mp4": "dance/J_Dance7_Party/training/J_Dance7_Party_training.mp4"
548
  },
549
  "policy": {
550
- "gif": "dance/J_Dance7_Party/policy/J_Dance7_Party_policy.gif",
551
- "mp4": "dance/J_Dance7_Party/policy/J_Dance7_Party_policy.mp4"
552
  }
553
  },
554
  "has_policy": true
@@ -563,16 +491,13 @@
563
  "frames": 2395,
564
  "stages": {
565
  "capture": {
566
- "gif": "dance/J_Dance8_WestCoast/capture/J_Dance8_WestCoast.gif",
567
- "mp4": "dance/J_Dance8_WestCoast/capture/J_Dance8_WestCoast.mp4"
568
  },
569
  "retarget": {
570
- "gif": "dance/J_Dance8_WestCoast/retarget/J_Dance8_WestCoast_retarget.gif",
571
- "mp4": "dance/J_Dance8_WestCoast/retarget/J_Dance8_WestCoast_retarget.mp4"
572
  },
573
  "training": {
574
- "gif": "dance/J_Dance8_WestCoast/training/J_Dance8_WestCoast_training.gif",
575
- "mp4": "dance/J_Dance8_WestCoast/training/J_Dance8_WestCoast_training.mp4"
576
  }
577
  },
578
  "has_policy": false
@@ -587,20 +512,16 @@
587
  "frames": 3501,
588
  "stages": {
589
  "capture": {
590
- "gif": "dance/J_Dance9_PeaceMaker/capture/J_Dance9_PeaceMaker.gif",
591
- "mp4": "dance/J_Dance9_PeaceMaker/capture/J_Dance9_PeaceMaker.mp4"
592
  },
593
  "retarget": {
594
- "gif": "dance/J_Dance9_PeaceMaker/retarget/J_Dance9_PeaceMaker_retarget.gif",
595
- "mp4": "dance/J_Dance9_PeaceMaker/retarget/J_Dance9_PeaceMaker_retarget.mp4"
596
  },
597
  "training": {
598
- "gif": "dance/J_Dance9_PeaceMaker/training/J_Dance9_PeaceMaker_training.gif",
599
- "mp4": "dance/J_Dance9_PeaceMaker/training/J_Dance9_PeaceMaker_training.mp4"
600
  },
601
  "policy": {
602
- "gif": "dance/J_Dance9_PeaceMaker/policy/J_Dance9_PeaceMaker_policy.gif",
603
- "mp4": "dance/J_Dance9_PeaceMaker/policy/J_Dance9_PeaceMaker_policy.mp4"
604
  }
605
  },
606
  "has_policy": true
@@ -615,16 +536,13 @@
615
  "frames": 842,
616
  "stages": {
617
  "capture": {
618
- "gif": "dance/J_ShortDance13_SingleLadies/capture/J_ShortDance13_SingleLadies.gif",
619
- "mp4": "dance/J_ShortDance13_SingleLadies/capture/J_ShortDance13_SingleLadies.mp4"
620
  },
621
  "retarget": {
622
- "gif": "dance/J_ShortDance13_SingleLadies/retarget/J_ShortDance13_SingleLadies_retarget.gif",
623
- "mp4": "dance/J_ShortDance13_SingleLadies/retarget/J_ShortDance13_SingleLadies_retarget.mp4"
624
  },
625
  "training": {
626
- "gif": "dance/J_ShortDance13_SingleLadies/training/J_ShortDance13_SingleLadies_training.gif",
627
- "mp4": "dance/J_ShortDance13_SingleLadies/training/J_ShortDance13_SingleLadies_training.mp4"
628
  }
629
  },
630
  "has_policy": false
@@ -639,16 +557,13 @@
639
  "frames": 858,
640
  "stages": {
641
  "capture": {
642
- "gif": "dance/J_ShortDance14_Disco/capture/J_ShortDance14_Disco.gif",
643
- "mp4": "dance/J_ShortDance14_Disco/capture/J_ShortDance14_Disco.mp4"
644
  },
645
  "retarget": {
646
- "gif": "dance/J_ShortDance14_Disco/retarget/J_ShortDance14_Disco_retarget.gif",
647
- "mp4": "dance/J_ShortDance14_Disco/retarget/J_ShortDance14_Disco_retarget.mp4"
648
  },
649
  "training": {
650
- "gif": "dance/J_ShortDance14_Disco/training/J_ShortDance14_Disco_training.gif",
651
- "mp4": "dance/J_ShortDance14_Disco/training/J_ShortDance14_Disco_training.mp4"
652
  }
653
  },
654
  "has_policy": false
@@ -663,16 +578,13 @@
663
  "frames": 787,
664
  "stages": {
665
  "capture": {
666
- "gif": "dance/J_ShortDance15_Nineties/capture/J_ShortDance15_Nineties.gif",
667
- "mp4": "dance/J_ShortDance15_Nineties/capture/J_ShortDance15_Nineties.mp4"
668
  },
669
  "retarget": {
670
- "gif": "dance/J_ShortDance15_Nineties/retarget/J_ShortDance15_Nineties_retarget.gif",
671
- "mp4": "dance/J_ShortDance15_Nineties/retarget/J_ShortDance15_Nineties_retarget.mp4"
672
  },
673
  "training": {
674
- "gif": "dance/J_ShortDance15_Nineties/training/J_ShortDance15_Nineties_training.gif",
675
- "mp4": "dance/J_ShortDance15_Nineties/training/J_ShortDance15_Nineties_training.mp4"
676
  }
677
  },
678
  "has_policy": false
@@ -687,16 +599,13 @@
687
  "frames": 637,
688
  "stages": {
689
  "capture": {
690
- "gif": "dance/J_ShortDance16_JazzWalk/capture/J_ShortDance16_JazzWalk.gif",
691
- "mp4": "dance/J_ShortDance16_JazzWalk/capture/J_ShortDance16_JazzWalk.mp4"
692
  },
693
  "retarget": {
694
- "gif": "dance/J_ShortDance16_JazzWalk/retarget/J_ShortDance16_JazzWalk_retarget.gif",
695
- "mp4": "dance/J_ShortDance16_JazzWalk/retarget/J_ShortDance16_JazzWalk_retarget.mp4"
696
  },
697
  "training": {
698
- "gif": "dance/J_ShortDance16_JazzWalk/training/J_ShortDance16_JazzWalk_training.gif",
699
- "mp4": "dance/J_ShortDance16_JazzWalk/training/J_ShortDance16_JazzWalk_training.mp4"
700
  }
701
  },
702
  "has_policy": false
@@ -711,20 +620,16 @@
711
  "frames": 2831,
712
  "stages": {
713
  "capture": {
714
- "gif": "karate/B_AttackKarate/capture/B_AttackKarate.gif",
715
- "mp4": "karate/B_AttackKarate/capture/B_AttackKarate.mp4"
716
  },
717
  "retarget": {
718
- "gif": "karate/B_AttackKarate/retarget/B_AttackKarate_retarget.gif",
719
- "mp4": "karate/B_AttackKarate/retarget/B_AttackKarate_retarget.mp4"
720
  },
721
  "training": {
722
- "gif": "karate/B_AttackKarate/training/B_AttackKarate_training.gif",
723
- "mp4": "karate/B_AttackKarate/training/B_AttackKarate_training.mp4"
724
  },
725
  "policy": {
726
- "gif": "karate/B_AttackKarate/policy/B_AttackKarate_policy.gif",
727
- "mp4": "karate/B_AttackKarate/policy/B_AttackKarate_policy.mp4"
728
  }
729
  },
730
  "has_policy": true
@@ -739,16 +644,13 @@
739
  "frames": 2254,
740
  "stages": {
741
  "capture": {
742
- "gif": "karate/B_BowKarate/capture/B_BowKarate.gif",
743
- "mp4": "karate/B_BowKarate/capture/B_BowKarate.mp4"
744
  },
745
  "retarget": {
746
- "gif": "karate/B_BowKarate/retarget/B_BowKarate_retarget.gif",
747
- "mp4": "karate/B_BowKarate/retarget/B_BowKarate_retarget.mp4"
748
  },
749
  "training": {
750
- "gif": "karate/B_BowKarate/training/B_BowKarate_training.gif",
751
- "mp4": "karate/B_BowKarate/training/B_BowKarate_training.mp4"
752
  }
753
  },
754
  "has_policy": false
@@ -763,20 +665,16 @@
763
  "frames": 3160,
764
  "stages": {
765
  "capture": {
766
- "gif": "karate/B_ChopsKarate/capture/B_ChopsKarate.gif",
767
- "mp4": "karate/B_ChopsKarate/capture/B_ChopsKarate.mp4"
768
  },
769
  "retarget": {
770
- "gif": "karate/B_ChopsKarate/retarget/B_ChopsKarate_retarget.gif",
771
- "mp4": "karate/B_ChopsKarate/retarget/B_ChopsKarate_retarget.mp4"
772
  },
773
  "training": {
774
- "gif": "karate/B_ChopsKarate/training/B_ChopsKarate_training.gif",
775
- "mp4": "karate/B_ChopsKarate/training/B_ChopsKarate_training.mp4"
776
  },
777
  "policy": {
778
- "gif": "karate/B_ChopsKarate/policy/B_ChopsKarate_policy.gif",
779
- "mp4": "karate/B_ChopsKarate/policy/B_ChopsKarate_policy.mp4"
780
  }
781
  },
782
  "has_policy": true
@@ -791,16 +689,13 @@
791
  "frames": 1452,
792
  "stages": {
793
  "capture": {
794
- "gif": "karate/B_CrazyChopsKarate/capture/B_CrazyChopsKarate.gif",
795
- "mp4": "karate/B_CrazyChopsKarate/capture/B_CrazyChopsKarate.mp4"
796
  },
797
  "retarget": {
798
- "gif": "karate/B_CrazyChopsKarate/retarget/B_CrazyChopsKarate_retarget.gif",
799
- "mp4": "karate/B_CrazyChopsKarate/retarget/B_CrazyChopsKarate_retarget.mp4"
800
  },
801
  "training": {
802
- "gif": "karate/B_CrazyChopsKarate/training/B_CrazyChopsKarate_training.gif",
803
- "mp4": "karate/B_CrazyChopsKarate/training/B_CrazyChopsKarate_training.mp4"
804
  }
805
  },
806
  "has_policy": false
@@ -815,16 +710,13 @@
815
  "frames": 2180,
816
  "stages": {
817
  "capture": {
818
- "gif": "karate/B_ForwardKarate/capture/B_ForwardKarate.gif",
819
- "mp4": "karate/B_ForwardKarate/capture/B_ForwardKarate.mp4"
820
  },
821
  "retarget": {
822
- "gif": "karate/B_ForwardKarate/retarget/B_ForwardKarate_retarget.gif",
823
- "mp4": "karate/B_ForwardKarate/retarget/B_ForwardKarate_retarget.mp4"
824
  },
825
  "training": {
826
- "gif": "karate/B_ForwardKarate/training/B_ForwardKarate_training.gif",
827
- "mp4": "karate/B_ForwardKarate/training/B_ForwardKarate_training.mp4"
828
  }
829
  },
830
  "has_policy": false
@@ -839,20 +731,16 @@
839
  "frames": 2881,
840
  "stages": {
841
  "capture": {
842
- "gif": "karate/B_LongKarate/capture/B_LongKarate.gif",
843
- "mp4": "karate/B_LongKarate/capture/B_LongKarate.mp4"
844
  },
845
  "retarget": {
846
- "gif": "karate/B_LongKarate/retarget/B_LongKarate_retarget.gif",
847
- "mp4": "karate/B_LongKarate/retarget/B_LongKarate_retarget.mp4"
848
  },
849
  "training": {
850
- "gif": "karate/B_LongKarate/training/B_LongKarate_training.gif",
851
- "mp4": "karate/B_LongKarate/training/B_LongKarate_training.mp4"
852
  },
853
  "policy": {
854
- "gif": "karate/B_LongKarate/policy/B_LongKarate_policy.gif",
855
- "mp4": "karate/B_LongKarate/policy/B_LongKarate_policy.mp4"
856
  }
857
  },
858
  "has_policy": true
@@ -867,16 +755,13 @@
867
  "frames": 1540,
868
  "stages": {
869
  "capture": {
870
- "gif": "karate/B_SpinKarate/capture/B_SpinKarate.gif",
871
- "mp4": "karate/B_SpinKarate/capture/B_SpinKarate.mp4"
872
  },
873
  "retarget": {
874
- "gif": "karate/B_SpinKarate/retarget/B_SpinKarate_retarget.gif",
875
- "mp4": "karate/B_SpinKarate/retarget/B_SpinKarate_retarget.mp4"
876
  },
877
  "training": {
878
- "gif": "karate/B_SpinKarate/training/B_SpinKarate_training.gif",
879
- "mp4": "karate/B_SpinKarate/training/B_SpinKarate_training.mp4"
880
  }
881
  },
882
  "has_policy": false
@@ -891,16 +776,13 @@
891
  "frames": 1870,
892
  "stages": {
893
  "capture": {
894
- "gif": "karate/M_Move1/capture/M_Move1.gif",
895
- "mp4": "karate/M_Move1/capture/M_Move1.mp4"
896
  },
897
  "retarget": {
898
- "gif": "karate/M_Move1/retarget/M_Move1_retarget.gif",
899
- "mp4": "karate/M_Move1/retarget/M_Move1_retarget.mp4"
900
  },
901
  "training": {
902
- "gif": "karate/M_Move1/training/M_Move1_training.gif",
903
- "mp4": "karate/M_Move1/training/M_Move1_training.mp4"
904
  }
905
  },
906
  "has_policy": false
@@ -915,16 +797,13 @@
915
  "frames": 1832,
916
  "stages": {
917
  "capture": {
918
- "gif": "karate/M_Move10/capture/M_Move10.gif",
919
- "mp4": "karate/M_Move10/capture/M_Move10.mp4"
920
  },
921
  "retarget": {
922
- "gif": "karate/M_Move10/retarget/M_Move10_retarget.gif",
923
- "mp4": "karate/M_Move10/retarget/M_Move10_retarget.mp4"
924
  },
925
  "training": {
926
- "gif": "karate/M_Move10/training/M_Move10_training.gif",
927
- "mp4": "karate/M_Move10/training/M_Move10_training.mp4"
928
  }
929
  },
930
  "has_policy": false
@@ -939,16 +818,13 @@
939
  "frames": 996,
940
  "stages": {
941
  "capture": {
942
- "gif": "karate/M_Move11/capture/M_Move11.gif",
943
- "mp4": "karate/M_Move11/capture/M_Move11.mp4"
944
  },
945
  "retarget": {
946
- "gif": "karate/M_Move11/retarget/M_Move11_retarget.gif",
947
- "mp4": "karate/M_Move11/retarget/M_Move11_retarget.mp4"
948
  },
949
  "training": {
950
- "gif": "karate/M_Move11/training/M_Move11_training.gif",
951
- "mp4": "karate/M_Move11/training/M_Move11_training.mp4"
952
  }
953
  },
954
  "has_policy": false
@@ -963,16 +839,13 @@
963
  "frames": 1598,
964
  "stages": {
965
  "capture": {
966
- "gif": "karate/M_Move17/capture/M_Move17.gif",
967
- "mp4": "karate/M_Move17/capture/M_Move17.mp4"
968
  },
969
  "retarget": {
970
- "gif": "karate/M_Move17/retarget/M_Move17_retarget.gif",
971
- "mp4": "karate/M_Move17/retarget/M_Move17_retarget.mp4"
972
  },
973
  "training": {
974
- "gif": "karate/M_Move17/training/M_Move17_training.gif",
975
- "mp4": "karate/M_Move17/training/M_Move17_training.mp4"
976
  }
977
  },
978
  "has_policy": false
@@ -987,16 +860,13 @@
987
  "frames": 1003,
988
  "stages": {
989
  "capture": {
990
- "gif": "karate/M_Move18/capture/M_Move18.gif",
991
- "mp4": "karate/M_Move18/capture/M_Move18.mp4"
992
  },
993
  "retarget": {
994
- "gif": "karate/M_Move18/retarget/M_Move18_retarget.gif",
995
- "mp4": "karate/M_Move18/retarget/M_Move18_retarget.mp4"
996
  },
997
  "training": {
998
- "gif": "karate/M_Move18/training/M_Move18_training.gif",
999
- "mp4": "karate/M_Move18/training/M_Move18_training.mp4"
1000
  }
1001
  },
1002
  "has_policy": false
@@ -1011,16 +881,13 @@
1011
  "frames": 1012,
1012
  "stages": {
1013
  "capture": {
1014
- "gif": "karate/M_Move19/capture/M_Move19.gif",
1015
- "mp4": "karate/M_Move19/capture/M_Move19.mp4"
1016
  },
1017
  "retarget": {
1018
- "gif": "karate/M_Move19/retarget/M_Move19_retarget.gif",
1019
- "mp4": "karate/M_Move19/retarget/M_Move19_retarget.mp4"
1020
  },
1021
  "training": {
1022
- "gif": "karate/M_Move19/training/M_Move19_training.gif",
1023
- "mp4": "karate/M_Move19/training/M_Move19_training.mp4"
1024
  }
1025
  },
1026
  "has_policy": false
@@ -1035,16 +902,13 @@
1035
  "frames": 2187,
1036
  "stages": {
1037
  "capture": {
1038
- "gif": "karate/M_Move2/capture/M_Move2.gif",
1039
- "mp4": "karate/M_Move2/capture/M_Move2.mp4"
1040
  },
1041
  "retarget": {
1042
- "gif": "karate/M_Move2/retarget/M_Move2_retarget.gif",
1043
- "mp4": "karate/M_Move2/retarget/M_Move2_retarget.mp4"
1044
  },
1045
  "training": {
1046
- "gif": "karate/M_Move2/training/M_Move2_training.gif",
1047
- "mp4": "karate/M_Move2/training/M_Move2_training.mp4"
1048
  }
1049
  },
1050
  "has_policy": false
@@ -1059,16 +923,13 @@
1059
  "frames": 1414,
1060
  "stages": {
1061
  "capture": {
1062
- "gif": "karate/M_Move20/capture/M_Move20.gif",
1063
- "mp4": "karate/M_Move20/capture/M_Move20.mp4"
1064
  },
1065
  "retarget": {
1066
- "gif": "karate/M_Move20/retarget/M_Move20_retarget.gif",
1067
- "mp4": "karate/M_Move20/retarget/M_Move20_retarget.mp4"
1068
  },
1069
  "training": {
1070
- "gif": "karate/M_Move20/training/M_Move20_training.gif",
1071
- "mp4": "karate/M_Move20/training/M_Move20_training.mp4"
1072
  }
1073
  },
1074
  "has_policy": false
@@ -1083,16 +944,13 @@
1083
  "frames": 1918,
1084
  "stages": {
1085
  "capture": {
1086
- "gif": "karate/M_Move3/capture/M_Move3.gif",
1087
- "mp4": "karate/M_Move3/capture/M_Move3.mp4"
1088
  },
1089
  "retarget": {
1090
- "gif": "karate/M_Move3/retarget/M_Move3_retarget.gif",
1091
- "mp4": "karate/M_Move3/retarget/M_Move3_retarget.mp4"
1092
  },
1093
  "training": {
1094
- "gif": "karate/M_Move3/training/M_Move3_training.gif",
1095
- "mp4": "karate/M_Move3/training/M_Move3_training.mp4"
1096
  }
1097
  },
1098
  "has_policy": false
@@ -1107,16 +965,13 @@
1107
  "frames": 1755,
1108
  "stages": {
1109
  "capture": {
1110
- "gif": "karate/M_Move4/capture/M_Move4.gif",
1111
- "mp4": "karate/M_Move4/capture/M_Move4.mp4"
1112
  },
1113
  "retarget": {
1114
- "gif": "karate/M_Move4/retarget/M_Move4_retarget.gif",
1115
- "mp4": "karate/M_Move4/retarget/M_Move4_retarget.mp4"
1116
  },
1117
  "training": {
1118
- "gif": "karate/M_Move4/training/M_Move4_training.gif",
1119
- "mp4": "karate/M_Move4/training/M_Move4_training.mp4"
1120
  }
1121
  },
1122
  "has_policy": false
@@ -1131,16 +986,13 @@
1131
  "frames": 2159,
1132
  "stages": {
1133
  "capture": {
1134
- "gif": "karate/M_Move5/capture/M_Move5.gif",
1135
- "mp4": "karate/M_Move5/capture/M_Move5.mp4"
1136
  },
1137
  "retarget": {
1138
- "gif": "karate/M_Move5/retarget/M_Move5_retarget.gif",
1139
- "mp4": "karate/M_Move5/retarget/M_Move5_retarget.mp4"
1140
  },
1141
  "training": {
1142
- "gif": "karate/M_Move5/training/M_Move5_training.gif",
1143
- "mp4": "karate/M_Move5/training/M_Move5_training.mp4"
1144
  }
1145
  },
1146
  "has_policy": false
@@ -1155,16 +1007,13 @@
1155
  "frames": 2137,
1156
  "stages": {
1157
  "capture": {
1158
- "gif": "karate/M_Move6/capture/M_Move6.gif",
1159
- "mp4": "karate/M_Move6/capture/M_Move6.mp4"
1160
  },
1161
  "retarget": {
1162
- "gif": "karate/M_Move6/retarget/M_Move6_retarget.gif",
1163
- "mp4": "karate/M_Move6/retarget/M_Move6_retarget.mp4"
1164
  },
1165
  "training": {
1166
- "gif": "karate/M_Move6/training/M_Move6_training.gif",
1167
- "mp4": "karate/M_Move6/training/M_Move6_training.mp4"
1168
  }
1169
  },
1170
  "has_policy": false
@@ -1179,16 +1028,13 @@
1179
  "frames": 1429,
1180
  "stages": {
1181
  "capture": {
1182
- "gif": "karate/M_Move7/capture/M_Move7.gif",
1183
- "mp4": "karate/M_Move7/capture/M_Move7.mp4"
1184
  },
1185
  "retarget": {
1186
- "gif": "karate/M_Move7/retarget/M_Move7_retarget.gif",
1187
- "mp4": "karate/M_Move7/retarget/M_Move7_retarget.mp4"
1188
  },
1189
  "training": {
1190
- "gif": "karate/M_Move7/training/M_Move7_training.gif",
1191
- "mp4": "karate/M_Move7/training/M_Move7_training.mp4"
1192
  }
1193
  },
1194
  "has_policy": false
@@ -1203,16 +1049,13 @@
1203
  "frames": 843,
1204
  "stages": {
1205
  "capture": {
1206
- "gif": "karate/M_Move8/capture/M_Move8.gif",
1207
- "mp4": "karate/M_Move8/capture/M_Move8.mp4"
1208
  },
1209
  "retarget": {
1210
- "gif": "karate/M_Move8/retarget/M_Move8_retarget.gif",
1211
- "mp4": "karate/M_Move8/retarget/M_Move8_retarget.mp4"
1212
  },
1213
  "training": {
1214
- "gif": "karate/M_Move8/training/M_Move8_training.gif",
1215
- "mp4": "karate/M_Move8/training/M_Move8_training.mp4"
1216
  }
1217
  },
1218
  "has_policy": false
@@ -1227,16 +1070,13 @@
1227
  "frames": 1638,
1228
  "stages": {
1229
  "capture": {
1230
- "gif": "karate/M_Move9/capture/M_Move9.gif",
1231
- "mp4": "karate/M_Move9/capture/M_Move9.mp4"
1232
  },
1233
  "retarget": {
1234
- "gif": "karate/M_Move9/retarget/M_Move9_retarget.gif",
1235
- "mp4": "karate/M_Move9/retarget/M_Move9_retarget.mp4"
1236
  },
1237
  "training": {
1238
- "gif": "karate/M_Move9/training/M_Move9_training.gif",
1239
- "mp4": "karate/M_Move9/training/M_Move9_training.mp4"
1240
  }
1241
  },
1242
  "has_policy": false
@@ -1251,16 +1091,13 @@
1251
  "frames": 467,
1252
  "stages": {
1253
  "capture": {
1254
- "gif": "karate/M_ShortMove12/capture/M_ShortMove12.gif",
1255
- "mp4": "karate/M_ShortMove12/capture/M_ShortMove12.mp4"
1256
  },
1257
  "retarget": {
1258
- "gif": "karate/M_ShortMove12/retarget/M_ShortMove12_retarget.gif",
1259
- "mp4": "karate/M_ShortMove12/retarget/M_ShortMove12_retarget.mp4"
1260
  },
1261
  "training": {
1262
- "gif": "karate/M_ShortMove12/training/M_ShortMove12_training.gif",
1263
- "mp4": "karate/M_ShortMove12/training/M_ShortMove12_training.mp4"
1264
  }
1265
  },
1266
  "has_policy": false
@@ -1275,16 +1112,13 @@
1275
  "frames": 539,
1276
  "stages": {
1277
  "capture": {
1278
- "gif": "karate/M_ShortMove13/capture/M_ShortMove13.gif",
1279
- "mp4": "karate/M_ShortMove13/capture/M_ShortMove13.mp4"
1280
  },
1281
  "retarget": {
1282
- "gif": "karate/M_ShortMove13/retarget/M_ShortMove13_retarget.gif",
1283
- "mp4": "karate/M_ShortMove13/retarget/M_ShortMove13_retarget.mp4"
1284
  },
1285
  "training": {
1286
- "gif": "karate/M_ShortMove13/training/M_ShortMove13_training.gif",
1287
- "mp4": "karate/M_ShortMove13/training/M_ShortMove13_training.mp4"
1288
  }
1289
  },
1290
  "has_policy": false
@@ -1299,16 +1133,13 @@
1299
  "frames": 393,
1300
  "stages": {
1301
  "capture": {
1302
- "gif": "karate/M_ShortMove14/capture/M_ShortMove14.gif",
1303
- "mp4": "karate/M_ShortMove14/capture/M_ShortMove14.mp4"
1304
  },
1305
  "retarget": {
1306
- "gif": "karate/M_ShortMove14/retarget/M_ShortMove14_retarget.gif",
1307
- "mp4": "karate/M_ShortMove14/retarget/M_ShortMove14_retarget.mp4"
1308
  },
1309
  "training": {
1310
- "gif": "karate/M_ShortMove14/training/M_ShortMove14_training.gif",
1311
- "mp4": "karate/M_ShortMove14/training/M_ShortMove14_training.mp4"
1312
  }
1313
  },
1314
  "has_policy": false
@@ -1323,16 +1154,13 @@
1323
  "frames": 408,
1324
  "stages": {
1325
  "capture": {
1326
- "gif": "karate/M_ShortMove15/capture/M_ShortMove15.gif",
1327
- "mp4": "karate/M_ShortMove15/capture/M_ShortMove15.mp4"
1328
  },
1329
  "retarget": {
1330
- "gif": "karate/M_ShortMove15/retarget/M_ShortMove15_retarget.gif",
1331
- "mp4": "karate/M_ShortMove15/retarget/M_ShortMove15_retarget.mp4"
1332
  },
1333
  "training": {
1334
- "gif": "karate/M_ShortMove15/training/M_ShortMove15_training.gif",
1335
- "mp4": "karate/M_ShortMove15/training/M_ShortMove15_training.mp4"
1336
  }
1337
  },
1338
  "has_policy": false
@@ -1347,16 +1175,13 @@
1347
  "frames": 443,
1348
  "stages": {
1349
  "capture": {
1350
- "gif": "karate/M_ShortMove16/capture/M_ShortMove16.gif",
1351
- "mp4": "karate/M_ShortMove16/capture/M_ShortMove16.mp4"
1352
  },
1353
  "retarget": {
1354
- "gif": "karate/M_ShortMove16/retarget/M_ShortMove16_retarget.gif",
1355
- "mp4": "karate/M_ShortMove16/retarget/M_ShortMove16_retarget.mp4"
1356
  },
1357
  "training": {
1358
- "gif": "karate/M_ShortMove16/training/M_ShortMove16_training.gif",
1359
- "mp4": "karate/M_ShortMove16/training/M_ShortMove16_training.mp4"
1360
  }
1361
  },
1362
  "has_policy": false
@@ -1371,20 +1196,16 @@
1371
  "frames": 1620,
1372
  "stages": {
1373
  "capture": {
1374
- "gif": "bonus/B_Fence1/capture/B_Fence1.gif",
1375
- "mp4": "bonus/B_Fence1/capture/B_Fence1.mp4"
1376
  },
1377
  "retarget": {
1378
- "gif": "bonus/B_Fence1/retarget/B_Fence1_retarget.gif",
1379
- "mp4": "bonus/B_Fence1/retarget/B_Fence1_retarget.mp4"
1380
  },
1381
  "training": {
1382
- "gif": "bonus/B_Fence1/training/B_Fence1_training.gif",
1383
- "mp4": "bonus/B_Fence1/training/B_Fence1_training.mp4"
1384
  },
1385
  "policy": {
1386
- "gif": "bonus/B_Fence1/policy/B_Fence1_policy.gif",
1387
- "mp4": "bonus/B_Fence1/policy/B_Fence1_policy.mp4"
1388
  }
1389
  },
1390
  "has_policy": true
@@ -1399,20 +1220,16 @@
1399
  "frames": 638,
1400
  "stages": {
1401
  "capture": {
1402
- "gif": "bonus/B_Fence2/capture/B_Fence2.gif",
1403
- "mp4": "bonus/B_Fence2/capture/B_Fence2.mp4"
1404
  },
1405
  "retarget": {
1406
- "gif": "bonus/B_Fence2/retarget/B_Fence2_retarget.gif",
1407
- "mp4": "bonus/B_Fence2/retarget/B_Fence2_retarget.mp4"
1408
  },
1409
  "training": {
1410
- "gif": "bonus/B_Fence2/training/B_Fence2_training.gif",
1411
- "mp4": "bonus/B_Fence2/training/B_Fence2_training.mp4"
1412
  },
1413
  "policy": {
1414
- "gif": "bonus/B_Fence2/policy/B_Fence2_policy.gif",
1415
- "mp4": "bonus/B_Fence2/policy/B_Fence2_policy.mp4"
1416
  }
1417
  },
1418
  "has_policy": true
@@ -1427,20 +1244,16 @@
1427
  "frames": 1766,
1428
  "stages": {
1429
  "capture": {
1430
- "gif": "bonus/B_HandsChop/capture/B_HandsChop.gif",
1431
- "mp4": "bonus/B_HandsChop/capture/B_HandsChop.mp4"
1432
  },
1433
  "retarget": {
1434
- "gif": "bonus/B_HandsChop/retarget/B_HandsChop_retarget.gif",
1435
- "mp4": "bonus/B_HandsChop/retarget/B_HandsChop_retarget.mp4"
1436
  },
1437
  "training": {
1438
- "gif": "bonus/B_HandsChop/training/B_HandsChop_training.gif",
1439
- "mp4": "bonus/B_HandsChop/training/B_HandsChop_training.mp4"
1440
  },
1441
  "policy": {
1442
- "gif": "bonus/B_HandsChop/policy/B_HandsChop_policy.gif",
1443
- "mp4": "bonus/B_HandsChop/policy/B_HandsChop_policy.mp4"
1444
  }
1445
  },
1446
  "has_policy": true
@@ -1455,20 +1268,16 @@
1455
  "frames": 442,
1456
  "stages": {
1457
  "capture": {
1458
- "gif": "bonus/B_HandsUp/capture/B_HandsUp.gif",
1459
- "mp4": "bonus/B_HandsUp/capture/B_HandsUp.mp4"
1460
  },
1461
  "retarget": {
1462
- "gif": "bonus/B_HandsUp/retarget/B_HandsUp_retarget.gif",
1463
- "mp4": "bonus/B_HandsUp/retarget/B_HandsUp_retarget.mp4"
1464
  },
1465
  "training": {
1466
- "gif": "bonus/B_HandsUp/training/B_HandsUp_training.gif",
1467
- "mp4": "bonus/B_HandsUp/training/B_HandsUp_training.mp4"
1468
  },
1469
  "policy": {
1470
- "gif": "bonus/B_HandsUp/policy/B_HandsUp_policy.gif",
1471
- "mp4": "bonus/B_HandsUp/policy/B_HandsUp_policy.mp4"
1472
  }
1473
  },
1474
  "has_policy": true
 
1
  {
2
+ "base_url": "",
3
  "clips": [
4
  {
5
  "id": "B_DadDance",
 
11
  "frames": 2509,
12
  "stages": {
13
  "capture": {
14
+ "mp4": "media/dance/B_DadDance/capture/B_DadDance.mp4"
 
15
  },
16
  "retarget": {
17
+ "mp4": "media/dance/B_DadDance/retarget/B_DadDance_retarget.mp4"
 
18
  },
19
  "training": {
20
+ "mp4": "media/dance/B_DadDance/training/B_DadDance_training.mp4"
 
21
  }
22
  },
23
  "has_policy": false
 
32
  "frames": 7167,
33
  "stages": {
34
  "capture": {
35
+ "mp4": "media/dance/B_LongDance/capture/B_LongDance.mp4"
 
36
  },
37
  "retarget": {
38
+ "mp4": "media/dance/B_LongDance/retarget/B_LongDance_retarget.mp4"
 
39
  },
40
  "training": {
41
+ "mp4": "media/dance/B_LongDance/training/B_LongDance_training.mp4"
 
42
  },
43
  "policy": {
44
+ "mp4": "media/dance/B_LongDance/policy/B_LongDance_policy.mp4"
 
45
  }
46
  },
47
  "has_policy": true
 
56
  "frames": 2868,
57
  "stages": {
58
  "capture": {
59
+ "mp4": "media/dance/B_SpiralDance/capture/B_SpiralDance.mp4"
 
60
  },
61
  "retarget": {
62
+ "mp4": "media/dance/B_SpiralDance/retarget/B_SpiralDance_retarget.mp4"
 
63
  },
64
  "training": {
65
+ "mp4": "media/dance/B_SpiralDance/training/B_SpiralDance_training.mp4"
 
66
  },
67
  "policy": {
68
+ "mp4": "media/dance/B_SpiralDance/policy/B_SpiralDance_policy.mp4"
 
69
  }
70
  },
71
  "has_policy": true
 
80
  "frames": 2586,
81
  "stages": {
82
  "capture": {
83
+ "mp4": "media/dance/B_StretchDance/capture/B_StretchDance.mp4"
 
84
  },
85
  "retarget": {
86
+ "mp4": "media/dance/B_StretchDance/retarget/B_StretchDance_retarget.mp4"
 
87
  },
88
  "training": {
89
+ "mp4": "media/dance/B_StretchDance/training/B_StretchDance_training.mp4"
 
90
  },
91
  "policy": {
92
+ "mp4": "media/dance/B_StretchDance/policy/B_StretchDance_policy.mp4"
 
93
  }
94
  },
95
  "has_policy": true
 
104
  "frames": 2237,
105
  "stages": {
106
  "capture": {
107
+ "mp4": "media/dance/B_WiggleDance/capture/B_WiggleDance.mp4"
 
108
  },
109
  "retarget": {
110
+ "mp4": "media/dance/B_WiggleDance/retarget/B_WiggleDance_retarget.mp4"
 
111
  },
112
  "training": {
113
+ "mp4": "media/dance/B_WiggleDance/training/B_WiggleDance_training.mp4"
 
114
  }
115
  },
116
  "has_policy": false
 
125
  "frames": 1949,
126
  "stages": {
127
  "capture": {
128
+ "mp4": "media/dance/J_Dance0_StepTouch/capture/J_Dance0_StepTouch.mp4"
 
129
  },
130
  "retarget": {
131
+ "mp4": "media/dance/J_Dance0_StepTouch/retarget/J_Dance0_StepTouch_retarget.mp4"
 
132
  },
133
  "training": {
134
+ "mp4": "media/dance/J_Dance0_StepTouch/training/J_Dance0_StepTouch_training.mp4"
 
135
  }
136
  },
137
  "has_policy": false
 
146
  "frames": 2709,
147
  "stages": {
148
  "capture": {
149
+ "mp4": "media/dance/J_Dance11_Gnarly/capture/J_Dance11_Gnarly.mp4"
 
150
  },
151
  "retarget": {
152
+ "mp4": "media/dance/J_Dance11_Gnarly/retarget/J_Dance11_Gnarly_retarget.mp4"
 
153
  },
154
  "training": {
155
+ "mp4": "media/dance/J_Dance11_Gnarly/training/J_Dance11_Gnarly_training.mp4"
 
156
  },
157
  "policy": {
158
+ "mp4": "media/dance/J_Dance11_Gnarly/policy/J_Dance11_Gnarly_policy.mp4"
 
159
  }
160
  },
161
  "has_policy": true
 
170
  "frames": 2136,
171
  "stages": {
172
  "capture": {
173
+ "mp4": "media/dance/J_Dance12_LushLife/capture/J_Dance12_LushLife.mp4"
 
174
  },
175
  "retarget": {
176
+ "mp4": "media/dance/J_Dance12_LushLife/retarget/J_Dance12_LushLife_retarget.mp4"
 
177
  },
178
  "training": {
179
+ "mp4": "media/dance/J_Dance12_LushLife/training/J_Dance12_LushLife_training.mp4"
 
180
  }
181
  },
182
  "has_policy": false
 
191
  "frames": 1922,
192
  "stages": {
193
  "capture": {
194
+ "mp4": "media/dance/J_Dance17_Shuffle/capture/J_Dance17_Shuffle.mp4"
 
195
  },
196
  "retarget": {
197
+ "mp4": "media/dance/J_Dance17_Shuffle/retarget/J_Dance17_Shuffle_retarget.mp4"
 
198
  },
199
  "training": {
200
+ "mp4": "media/dance/J_Dance17_Shuffle/training/J_Dance17_Shuffle_training.mp4"
 
201
  }
202
  },
203
  "has_policy": false
 
212
  "frames": 1077,
213
  "stages": {
214
  "capture": {
215
+ "mp4": "media/dance/J_Dance18_TikTok/capture/J_Dance18_TikTok.mp4"
 
216
  },
217
  "retarget": {
218
+ "mp4": "media/dance/J_Dance18_TikTok/retarget/J_Dance18_TikTok_retarget.mp4"
 
219
  },
220
  "training": {
221
+ "mp4": "media/dance/J_Dance18_TikTok/training/J_Dance18_TikTok_training.mp4"
 
222
  }
223
  },
224
  "has_policy": false
 
233
  "frames": 1491,
234
  "stages": {
235
  "capture": {
236
+ "mp4": "media/dance/J_Dance19_LetsGO/capture/J_Dance19_LetsGO.mp4"
 
237
  },
238
  "retarget": {
239
+ "mp4": "media/dance/J_Dance19_LetsGO/retarget/J_Dance19_LetsGO_retarget.mp4"
 
240
  },
241
  "training": {
242
+ "mp4": "media/dance/J_Dance19_LetsGO/training/J_Dance19_LetsGO_training.mp4"
 
243
  }
244
  },
245
  "has_policy": false
 
254
  "frames": 2265,
255
  "stages": {
256
  "capture": {
257
+ "mp4": "media/dance/J_Dance1_Modern/capture/J_Dance1_Modern.mp4"
 
258
  },
259
  "retarget": {
260
+ "mp4": "media/dance/J_Dance1_Modern/retarget/J_Dance1_Modern_retarget.mp4"
 
261
  },
262
  "training": {
263
+ "mp4": "media/dance/J_Dance1_Modern/training/J_Dance1_Modern_training.mp4"
 
264
  }
265
  },
266
  "has_policy": false
 
275
  "frames": 938,
276
  "stages": {
277
  "capture": {
278
+ "mp4": "media/dance/J_Dance20_DWG/capture/J_Dance20_DWG.mp4"
 
279
  },
280
  "retarget": {
281
+ "mp4": "media/dance/J_Dance20_DWG/retarget/J_Dance20_DWG_retarget.mp4"
 
282
  },
283
  "training": {
284
+ "mp4": "media/dance/J_Dance20_DWG/training/J_Dance20_DWG_training.mp4"
 
285
  }
286
  },
287
  "has_policy": false
 
296
  "frames": 1725,
297
  "stages": {
298
  "capture": {
299
+ "mp4": "media/dance/J_Dance21_Blunt/capture/J_Dance21_Blunt.mp4"
 
300
  },
301
  "retarget": {
302
+ "mp4": "media/dance/J_Dance21_Blunt/retarget/J_Dance21_Blunt_retarget.mp4"
 
303
  },
304
  "training": {
305
+ "mp4": "media/dance/J_Dance21_Blunt/training/J_Dance21_Blunt_training.mp4"
 
306
  }
307
  },
308
  "has_policy": false
 
317
  "frames": 1619,
318
  "stages": {
319
  "capture": {
320
+ "mp4": "media/dance/J_Dance22_Thrilling/capture/J_Dance22_Thrilling.mp4"
 
321
  },
322
  "retarget": {
323
+ "mp4": "media/dance/J_Dance22_Thrilling/retarget/J_Dance22_Thrilling_retarget.mp4"
 
324
  },
325
  "training": {
326
+ "mp4": "media/dance/J_Dance22_Thrilling/training/J_Dance22_Thrilling_training.mp4"
 
327
  }
328
  },
329
  "has_policy": false
 
338
  "frames": 2915,
339
  "stages": {
340
  "capture": {
341
+ "mp4": "media/dance/J_Dance23_MidnightSun/capture/J_Dance23_MidnightSun.mp4"
 
342
  },
343
  "retarget": {
344
+ "mp4": "media/dance/J_Dance23_MidnightSun/retarget/J_Dance23_MidnightSun_retarget.mp4"
 
345
  },
346
  "training": {
347
+ "mp4": "media/dance/J_Dance23_MidnightSun/training/J_Dance23_MidnightSun_training.mp4"
 
348
  },
349
  "policy": {
350
+ "mp4": "media/dance/J_Dance23_MidnightSun/policy/J_Dance23_MidnightSun_policy.mp4"
 
351
  }
352
  },
353
  "has_policy": true
 
362
  "frames": 2151,
363
  "stages": {
364
  "capture": {
365
+ "mp4": "media/dance/J_Dance2_Salsa/capture/J_Dance2_Salsa.mp4"
 
366
  },
367
  "retarget": {
368
+ "mp4": "media/dance/J_Dance2_Salsa/retarget/J_Dance2_Salsa_retarget.mp4"
 
369
  },
370
  "training": {
371
+ "mp4": "media/dance/J_Dance2_Salsa/training/J_Dance2_Salsa_training.mp4"
 
372
  }
373
  },
374
  "has_policy": false
 
383
  "frames": 1800,
384
  "stages": {
385
  "capture": {
386
+ "mp4": "media/dance/J_Dance3_Woah/capture/J_Dance3_Woah.mp4"
 
387
  },
388
  "retarget": {
389
+ "mp4": "media/dance/J_Dance3_Woah/retarget/J_Dance3_Woah_retarget.mp4"
 
390
  },
391
  "training": {
392
+ "mp4": "media/dance/J_Dance3_Woah/training/J_Dance3_Woah_training.mp4"
 
393
  }
394
  },
395
  "has_policy": false
 
404
  "frames": 1677,
405
  "stages": {
406
  "capture": {
407
+ "mp4": "media/dance/J_Dance4_Broadway/capture/J_Dance4_Broadway.mp4"
 
408
  },
409
  "retarget": {
410
+ "mp4": "media/dance/J_Dance4_Broadway/retarget/J_Dance4_Broadway_retarget.mp4"
 
411
  },
412
  "training": {
413
+ "mp4": "media/dance/J_Dance4_Broadway/training/J_Dance4_Broadway_training.mp4"
 
414
  }
415
  },
416
  "has_policy": false
 
425
  "frames": 1896,
426
  "stages": {
427
  "capture": {
428
+ "mp4": "media/dance/J_Dance5_Hype/capture/J_Dance5_Hype.mp4"
 
429
  },
430
  "retarget": {
431
+ "mp4": "media/dance/J_Dance5_Hype/retarget/J_Dance5_Hype_retarget.mp4"
 
432
  },
433
  "training": {
434
+ "mp4": "media/dance/J_Dance5_Hype/training/J_Dance5_Hype_training.mp4"
 
435
  }
436
  },
437
  "has_policy": false
 
446
  "frames": 1914,
447
  "stages": {
448
  "capture": {
449
+ "mp4": "media/dance/J_Dance6_Sassy/capture/J_Dance6_Sassy.mp4"
 
450
  },
451
  "retarget": {
452
+ "mp4": "media/dance/J_Dance6_Sassy/retarget/J_Dance6_Sassy_retarget.mp4"
 
453
  },
454
  "training": {
455
+ "mp4": "media/dance/J_Dance6_Sassy/training/J_Dance6_Sassy_training.mp4"
 
456
  }
457
  },
458
  "has_policy": false
 
467
  "frames": 2773,
468
  "stages": {
469
  "capture": {
470
+ "mp4": "media/dance/J_Dance7_Party/capture/J_Dance7_Party.mp4"
 
471
  },
472
  "retarget": {
473
+ "mp4": "media/dance/J_Dance7_Party/retarget/J_Dance7_Party_retarget.mp4"
 
474
  },
475
  "training": {
476
+ "mp4": "media/dance/J_Dance7_Party/training/J_Dance7_Party_training.mp4"
 
477
  },
478
  "policy": {
479
+ "mp4": "media/dance/J_Dance7_Party/policy/J_Dance7_Party_policy.mp4"
 
480
  }
481
  },
482
  "has_policy": true
 
491
  "frames": 2395,
492
  "stages": {
493
  "capture": {
494
+ "mp4": "media/dance/J_Dance8_WestCoast/capture/J_Dance8_WestCoast.mp4"
 
495
  },
496
  "retarget": {
497
+ "mp4": "media/dance/J_Dance8_WestCoast/retarget/J_Dance8_WestCoast_retarget.mp4"
 
498
  },
499
  "training": {
500
+ "mp4": "media/dance/J_Dance8_WestCoast/training/J_Dance8_WestCoast_training.mp4"
 
501
  }
502
  },
503
  "has_policy": false
 
512
  "frames": 3501,
513
  "stages": {
514
  "capture": {
515
+ "mp4": "media/dance/J_Dance9_PeaceMaker/capture/J_Dance9_PeaceMaker.mp4"
 
516
  },
517
  "retarget": {
518
+ "mp4": "media/dance/J_Dance9_PeaceMaker/retarget/J_Dance9_PeaceMaker_retarget.mp4"
 
519
  },
520
  "training": {
521
+ "mp4": "media/dance/J_Dance9_PeaceMaker/training/J_Dance9_PeaceMaker_training.mp4"
 
522
  },
523
  "policy": {
524
+ "mp4": "media/dance/J_Dance9_PeaceMaker/policy/J_Dance9_PeaceMaker_policy.mp4"
 
525
  }
526
  },
527
  "has_policy": true
 
536
  "frames": 842,
537
  "stages": {
538
  "capture": {
539
+ "mp4": "media/dance/J_ShortDance13_SingleLadies/capture/J_ShortDance13_SingleLadies.mp4"
 
540
  },
541
  "retarget": {
542
+ "mp4": "media/dance/J_ShortDance13_SingleLadies/retarget/J_ShortDance13_SingleLadies_retarget.mp4"
 
543
  },
544
  "training": {
545
+ "mp4": "media/dance/J_ShortDance13_SingleLadies/training/J_ShortDance13_SingleLadies_training.mp4"
 
546
  }
547
  },
548
  "has_policy": false
 
557
  "frames": 858,
558
  "stages": {
559
  "capture": {
560
+ "mp4": "media/dance/J_ShortDance14_Disco/capture/J_ShortDance14_Disco.mp4"
 
561
  },
562
  "retarget": {
563
+ "mp4": "media/dance/J_ShortDance14_Disco/retarget/J_ShortDance14_Disco_retarget.mp4"
 
564
  },
565
  "training": {
566
+ "mp4": "media/dance/J_ShortDance14_Disco/training/J_ShortDance14_Disco_training.mp4"
 
567
  }
568
  },
569
  "has_policy": false
 
578
  "frames": 787,
579
  "stages": {
580
  "capture": {
581
+ "mp4": "media/dance/J_ShortDance15_Nineties/capture/J_ShortDance15_Nineties.mp4"
 
582
  },
583
  "retarget": {
584
+ "mp4": "media/dance/J_ShortDance15_Nineties/retarget/J_ShortDance15_Nineties_retarget.mp4"
 
585
  },
586
  "training": {
587
+ "mp4": "media/dance/J_ShortDance15_Nineties/training/J_ShortDance15_Nineties_training.mp4"
 
588
  }
589
  },
590
  "has_policy": false
 
599
  "frames": 637,
600
  "stages": {
601
  "capture": {
602
+ "mp4": "media/dance/J_ShortDance16_JazzWalk/capture/J_ShortDance16_JazzWalk.mp4"
 
603
  },
604
  "retarget": {
605
+ "mp4": "media/dance/J_ShortDance16_JazzWalk/retarget/J_ShortDance16_JazzWalk_retarget.mp4"
 
606
  },
607
  "training": {
608
+ "mp4": "media/dance/J_ShortDance16_JazzWalk/training/J_ShortDance16_JazzWalk_training.mp4"
 
609
  }
610
  },
611
  "has_policy": false
 
620
  "frames": 2831,
621
  "stages": {
622
  "capture": {
623
+ "mp4": "media/karate/B_AttackKarate/capture/B_AttackKarate.mp4"
 
624
  },
625
  "retarget": {
626
+ "mp4": "media/karate/B_AttackKarate/retarget/B_AttackKarate_retarget.mp4"
 
627
  },
628
  "training": {
629
+ "mp4": "media/karate/B_AttackKarate/training/B_AttackKarate_training.mp4"
 
630
  },
631
  "policy": {
632
+ "mp4": "media/karate/B_AttackKarate/policy/B_AttackKarate_policy.mp4"
 
633
  }
634
  },
635
  "has_policy": true
 
644
  "frames": 2254,
645
  "stages": {
646
  "capture": {
647
+ "mp4": "media/karate/B_BowKarate/capture/B_BowKarate.mp4"
 
648
  },
649
  "retarget": {
650
+ "mp4": "media/karate/B_BowKarate/retarget/B_BowKarate_retarget.mp4"
 
651
  },
652
  "training": {
653
+ "mp4": "media/karate/B_BowKarate/training/B_BowKarate_training.mp4"
 
654
  }
655
  },
656
  "has_policy": false
 
665
  "frames": 3160,
666
  "stages": {
667
  "capture": {
668
+ "mp4": "media/karate/B_ChopsKarate/capture/B_ChopsKarate.mp4"
 
669
  },
670
  "retarget": {
671
+ "mp4": "media/karate/B_ChopsKarate/retarget/B_ChopsKarate_retarget.mp4"
 
672
  },
673
  "training": {
674
+ "mp4": "media/karate/B_ChopsKarate/training/B_ChopsKarate_training.mp4"
 
675
  },
676
  "policy": {
677
+ "mp4": "media/karate/B_ChopsKarate/policy/B_ChopsKarate_policy.mp4"
 
678
  }
679
  },
680
  "has_policy": true
 
689
  "frames": 1452,
690
  "stages": {
691
  "capture": {
692
+ "mp4": "media/karate/B_CrazyChopsKarate/capture/B_CrazyChopsKarate.mp4"
 
693
  },
694
  "retarget": {
695
+ "mp4": "media/karate/B_CrazyChopsKarate/retarget/B_CrazyChopsKarate_retarget.mp4"
 
696
  },
697
  "training": {
698
+ "mp4": "media/karate/B_CrazyChopsKarate/training/B_CrazyChopsKarate_training.mp4"
 
699
  }
700
  },
701
  "has_policy": false
 
710
  "frames": 2180,
711
  "stages": {
712
  "capture": {
713
+ "mp4": "media/karate/B_ForwardKarate/capture/B_ForwardKarate.mp4"
 
714
  },
715
  "retarget": {
716
+ "mp4": "media/karate/B_ForwardKarate/retarget/B_ForwardKarate_retarget.mp4"
 
717
  },
718
  "training": {
719
+ "mp4": "media/karate/B_ForwardKarate/training/B_ForwardKarate_training.mp4"
 
720
  }
721
  },
722
  "has_policy": false
 
731
  "frames": 2881,
732
  "stages": {
733
  "capture": {
734
+ "mp4": "media/karate/B_LongKarate/capture/B_LongKarate.mp4"
 
735
  },
736
  "retarget": {
737
+ "mp4": "media/karate/B_LongKarate/retarget/B_LongKarate_retarget.mp4"
 
738
  },
739
  "training": {
740
+ "mp4": "media/karate/B_LongKarate/training/B_LongKarate_training.mp4"
 
741
  },
742
  "policy": {
743
+ "mp4": "media/karate/B_LongKarate/policy/B_LongKarate_policy.mp4"
 
744
  }
745
  },
746
  "has_policy": true
 
755
  "frames": 1540,
756
  "stages": {
757
  "capture": {
758
+ "mp4": "media/karate/B_SpinKarate/capture/B_SpinKarate.mp4"
 
759
  },
760
  "retarget": {
761
+ "mp4": "media/karate/B_SpinKarate/retarget/B_SpinKarate_retarget.mp4"
 
762
  },
763
  "training": {
764
+ "mp4": "media/karate/B_SpinKarate/training/B_SpinKarate_training.mp4"
 
765
  }
766
  },
767
  "has_policy": false
 
776
  "frames": 1870,
777
  "stages": {
778
  "capture": {
779
+ "mp4": "media/karate/M_Move1/capture/M_Move1.mp4"
 
780
  },
781
  "retarget": {
782
+ "mp4": "media/karate/M_Move1/retarget/M_Move1_retarget.mp4"
 
783
  },
784
  "training": {
785
+ "mp4": "media/karate/M_Move1/training/M_Move1_training.mp4"
 
786
  }
787
  },
788
  "has_policy": false
 
797
  "frames": 1832,
798
  "stages": {
799
  "capture": {
800
+ "mp4": "media/karate/M_Move10/capture/M_Move10.mp4"
 
801
  },
802
  "retarget": {
803
+ "mp4": "media/karate/M_Move10/retarget/M_Move10_retarget.mp4"
 
804
  },
805
  "training": {
806
+ "mp4": "media/karate/M_Move10/training/M_Move10_training.mp4"
 
807
  }
808
  },
809
  "has_policy": false
 
818
  "frames": 996,
819
  "stages": {
820
  "capture": {
821
+ "mp4": "media/karate/M_Move11/capture/M_Move11.mp4"
 
822
  },
823
  "retarget": {
824
+ "mp4": "media/karate/M_Move11/retarget/M_Move11_retarget.mp4"
 
825
  },
826
  "training": {
827
+ "mp4": "media/karate/M_Move11/training/M_Move11_training.mp4"
 
828
  }
829
  },
830
  "has_policy": false
 
839
  "frames": 1598,
840
  "stages": {
841
  "capture": {
842
+ "mp4": "media/karate/M_Move17/capture/M_Move17.mp4"
 
843
  },
844
  "retarget": {
845
+ "mp4": "media/karate/M_Move17/retarget/M_Move17_retarget.mp4"
 
846
  },
847
  "training": {
848
+ "mp4": "media/karate/M_Move17/training/M_Move17_training.mp4"
 
849
  }
850
  },
851
  "has_policy": false
 
860
  "frames": 1003,
861
  "stages": {
862
  "capture": {
863
+ "mp4": "media/karate/M_Move18/capture/M_Move18.mp4"
 
864
  },
865
  "retarget": {
866
+ "mp4": "media/karate/M_Move18/retarget/M_Move18_retarget.mp4"
 
867
  },
868
  "training": {
869
+ "mp4": "media/karate/M_Move18/training/M_Move18_training.mp4"
 
870
  }
871
  },
872
  "has_policy": false
 
881
  "frames": 1012,
882
  "stages": {
883
  "capture": {
884
+ "mp4": "media/karate/M_Move19/capture/M_Move19.mp4"
 
885
  },
886
  "retarget": {
887
+ "mp4": "media/karate/M_Move19/retarget/M_Move19_retarget.mp4"
 
888
  },
889
  "training": {
890
+ "mp4": "media/karate/M_Move19/training/M_Move19_training.mp4"
 
891
  }
892
  },
893
  "has_policy": false
 
902
  "frames": 2187,
903
  "stages": {
904
  "capture": {
905
+ "mp4": "media/karate/M_Move2/capture/M_Move2.mp4"
 
906
  },
907
  "retarget": {
908
+ "mp4": "media/karate/M_Move2/retarget/M_Move2_retarget.mp4"
 
909
  },
910
  "training": {
911
+ "mp4": "media/karate/M_Move2/training/M_Move2_training.mp4"
 
912
  }
913
  },
914
  "has_policy": false
 
923
  "frames": 1414,
924
  "stages": {
925
  "capture": {
926
+ "mp4": "media/karate/M_Move20/capture/M_Move20.mp4"
 
927
  },
928
  "retarget": {
929
+ "mp4": "media/karate/M_Move20/retarget/M_Move20_retarget.mp4"
 
930
  },
931
  "training": {
932
+ "mp4": "media/karate/M_Move20/training/M_Move20_training.mp4"
 
933
  }
934
  },
935
  "has_policy": false
 
944
  "frames": 1918,
945
  "stages": {
946
  "capture": {
947
+ "mp4": "media/karate/M_Move3/capture/M_Move3.mp4"
 
948
  },
949
  "retarget": {
950
+ "mp4": "media/karate/M_Move3/retarget/M_Move3_retarget.mp4"
 
951
  },
952
  "training": {
953
+ "mp4": "media/karate/M_Move3/training/M_Move3_training.mp4"
 
954
  }
955
  },
956
  "has_policy": false
 
965
  "frames": 1755,
966
  "stages": {
967
  "capture": {
968
+ "mp4": "media/karate/M_Move4/capture/M_Move4.mp4"
 
969
  },
970
  "retarget": {
971
+ "mp4": "media/karate/M_Move4/retarget/M_Move4_retarget.mp4"
 
972
  },
973
  "training": {
974
+ "mp4": "media/karate/M_Move4/training/M_Move4_training.mp4"
 
975
  }
976
  },
977
  "has_policy": false
 
986
  "frames": 2159,
987
  "stages": {
988
  "capture": {
989
+ "mp4": "media/karate/M_Move5/capture/M_Move5.mp4"
 
990
  },
991
  "retarget": {
992
+ "mp4": "media/karate/M_Move5/retarget/M_Move5_retarget.mp4"
 
993
  },
994
  "training": {
995
+ "mp4": "media/karate/M_Move5/training/M_Move5_training.mp4"
 
996
  }
997
  },
998
  "has_policy": false
 
1007
  "frames": 2137,
1008
  "stages": {
1009
  "capture": {
1010
+ "mp4": "media/karate/M_Move6/capture/M_Move6.mp4"
 
1011
  },
1012
  "retarget": {
1013
+ "mp4": "media/karate/M_Move6/retarget/M_Move6_retarget.mp4"
 
1014
  },
1015
  "training": {
1016
+ "mp4": "media/karate/M_Move6/training/M_Move6_training.mp4"
 
1017
  }
1018
  },
1019
  "has_policy": false
 
1028
  "frames": 1429,
1029
  "stages": {
1030
  "capture": {
1031
+ "mp4": "media/karate/M_Move7/capture/M_Move7.mp4"
 
1032
  },
1033
  "retarget": {
1034
+ "mp4": "media/karate/M_Move7/retarget/M_Move7_retarget.mp4"
 
1035
  },
1036
  "training": {
1037
+ "mp4": "media/karate/M_Move7/training/M_Move7_training.mp4"
 
1038
  }
1039
  },
1040
  "has_policy": false
 
1049
  "frames": 843,
1050
  "stages": {
1051
  "capture": {
1052
+ "mp4": "media/karate/M_Move8/capture/M_Move8.mp4"
 
1053
  },
1054
  "retarget": {
1055
+ "mp4": "media/karate/M_Move8/retarget/M_Move8_retarget.mp4"
 
1056
  },
1057
  "training": {
1058
+ "mp4": "media/karate/M_Move8/training/M_Move8_training.mp4"
 
1059
  }
1060
  },
1061
  "has_policy": false
 
1070
  "frames": 1638,
1071
  "stages": {
1072
  "capture": {
1073
+ "mp4": "media/karate/M_Move9/capture/M_Move9.mp4"
 
1074
  },
1075
  "retarget": {
1076
+ "mp4": "media/karate/M_Move9/retarget/M_Move9_retarget.mp4"
 
1077
  },
1078
  "training": {
1079
+ "mp4": "media/karate/M_Move9/training/M_Move9_training.mp4"
 
1080
  }
1081
  },
1082
  "has_policy": false
 
1091
  "frames": 467,
1092
  "stages": {
1093
  "capture": {
1094
+ "mp4": "media/karate/M_ShortMove12/capture/M_ShortMove12.mp4"
 
1095
  },
1096
  "retarget": {
1097
+ "mp4": "media/karate/M_ShortMove12/retarget/M_ShortMove12_retarget.mp4"
 
1098
  },
1099
  "training": {
1100
+ "mp4": "media/karate/M_ShortMove12/training/M_ShortMove12_training.mp4"
 
1101
  }
1102
  },
1103
  "has_policy": false
 
1112
  "frames": 539,
1113
  "stages": {
1114
  "capture": {
1115
+ "mp4": "media/karate/M_ShortMove13/capture/M_ShortMove13.mp4"
 
1116
  },
1117
  "retarget": {
1118
+ "mp4": "media/karate/M_ShortMove13/retarget/M_ShortMove13_retarget.mp4"
 
1119
  },
1120
  "training": {
1121
+ "mp4": "media/karate/M_ShortMove13/training/M_ShortMove13_training.mp4"
 
1122
  }
1123
  },
1124
  "has_policy": false
 
1133
  "frames": 393,
1134
  "stages": {
1135
  "capture": {
1136
+ "mp4": "media/karate/M_ShortMove14/capture/M_ShortMove14.mp4"
 
1137
  },
1138
  "retarget": {
1139
+ "mp4": "media/karate/M_ShortMove14/retarget/M_ShortMove14_retarget.mp4"
 
1140
  },
1141
  "training": {
1142
+ "mp4": "media/karate/M_ShortMove14/training/M_ShortMove14_training.mp4"
 
1143
  }
1144
  },
1145
  "has_policy": false
 
1154
  "frames": 408,
1155
  "stages": {
1156
  "capture": {
1157
+ "mp4": "media/karate/M_ShortMove15/capture/M_ShortMove15.mp4"
 
1158
  },
1159
  "retarget": {
1160
+ "mp4": "media/karate/M_ShortMove15/retarget/M_ShortMove15_retarget.mp4"
 
1161
  },
1162
  "training": {
1163
+ "mp4": "media/karate/M_ShortMove15/training/M_ShortMove15_training.mp4"
 
1164
  }
1165
  },
1166
  "has_policy": false
 
1175
  "frames": 443,
1176
  "stages": {
1177
  "capture": {
1178
+ "mp4": "media/karate/M_ShortMove16/capture/M_ShortMove16.mp4"
 
1179
  },
1180
  "retarget": {
1181
+ "mp4": "media/karate/M_ShortMove16/retarget/M_ShortMove16_retarget.mp4"
 
1182
  },
1183
  "training": {
1184
+ "mp4": "media/karate/M_ShortMove16/training/M_ShortMove16_training.mp4"
 
1185
  }
1186
  },
1187
  "has_policy": false
 
1196
  "frames": 1620,
1197
  "stages": {
1198
  "capture": {
1199
+ "mp4": "media/bonus/B_Fence1/capture/B_Fence1.mp4"
 
1200
  },
1201
  "retarget": {
1202
+ "mp4": "media/bonus/B_Fence1/retarget/B_Fence1_retarget.mp4"
 
1203
  },
1204
  "training": {
1205
+ "mp4": "media/bonus/B_Fence1/training/B_Fence1_training.mp4"
 
1206
  },
1207
  "policy": {
1208
+ "mp4": "media/bonus/B_Fence1/policy/B_Fence1_policy.mp4"
 
1209
  }
1210
  },
1211
  "has_policy": true
 
1220
  "frames": 638,
1221
  "stages": {
1222
  "capture": {
1223
+ "mp4": "media/bonus/B_Fence2/capture/B_Fence2.mp4"
 
1224
  },
1225
  "retarget": {
1226
+ "mp4": "media/bonus/B_Fence2/retarget/B_Fence2_retarget.mp4"
 
1227
  },
1228
  "training": {
1229
+ "mp4": "media/bonus/B_Fence2/training/B_Fence2_training.mp4"
 
1230
  },
1231
  "policy": {
1232
+ "mp4": "media/bonus/B_Fence2/policy/B_Fence2_policy.mp4"
 
1233
  }
1234
  },
1235
  "has_policy": true
 
1244
  "frames": 1766,
1245
  "stages": {
1246
  "capture": {
1247
+ "mp4": "media/bonus/B_HandsChop/capture/B_HandsChop.mp4"
 
1248
  },
1249
  "retarget": {
1250
+ "mp4": "media/bonus/B_HandsChop/retarget/B_HandsChop_retarget.mp4"
 
1251
  },
1252
  "training": {
1253
+ "mp4": "media/bonus/B_HandsChop/training/B_HandsChop_training.mp4"
 
1254
  },
1255
  "policy": {
1256
+ "mp4": "media/bonus/B_HandsChop/policy/B_HandsChop_policy.mp4"
 
1257
  }
1258
  },
1259
  "has_policy": true
 
1268
  "frames": 442,
1269
  "stages": {
1270
  "capture": {
1271
+ "mp4": "media/bonus/B_HandsUp/capture/B_HandsUp.mp4"
 
1272
  },
1273
  "retarget": {
1274
+ "mp4": "media/bonus/B_HandsUp/retarget/B_HandsUp_retarget.mp4"
 
1275
  },
1276
  "training": {
1277
+ "mp4": "media/bonus/B_HandsUp/training/B_HandsUp_training.mp4"
 
1278
  },
1279
  "policy": {
1280
+ "mp4": "media/bonus/B_HandsUp/policy/B_HandsUp_policy.mp4"
 
1281
  }
1282
  },
1283
  "has_policy": true
g1-moves/CLAUDE.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <claude-mem-context>
2
+ # Recent Activity
3
+
4
+ <!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
5
+
6
+ *No recent activity*
7
+ </claude-mem-context>
g1-moves/space/CLAUDE.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <claude-mem-context>
2
+ # Recent Activity
3
+
4
+ <!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
5
+
6
+ *No recent activity*
7
+ </claude-mem-context>
generate_data.py ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Generate data.json for the G1 Moves showcase site.
3
+
4
+ Reads manifest.json + scans the filesystem to determine which media
5
+ files (GIF/MP4) exist for each clip at each pipeline stage.
6
+
7
+ Usage:
8
+ python generate_data.py # from space/ directory
9
+ python generate_data.py --repo /path/to/g1-moves
10
+ """
11
+
12
+ import argparse
13
+ import json
14
+ import re
15
+ from pathlib import Path
16
+
17
+ STAGES = ["capture", "retarget", "training", "policy"]
18
+
19
+ # Descriptive subtitles for karate moves (from README)
20
+ KARATE_SUBTITLES = {
21
+ "M_Move1": "Guard Combo",
22
+ "M_Move2": "Low Punch",
23
+ "M_Move3": "Horse Stance",
24
+ "M_Move4": "Spin Punch",
25
+ "M_Move5": "Twist Punch",
26
+ "M_Move6": "Spin Strike",
27
+ "M_Move7": "Rapid Punch",
28
+ "M_Move8": "Drop Spin",
29
+ "M_Move9": "Level Change",
30
+ "M_Move10": "Side Kick",
31
+ "M_Move11": "Blitz",
32
+ "M_Move17": "Double Strike",
33
+ "M_Move18": "Front Kick",
34
+ "M_Move19": "Slow Kata",
35
+ "M_Move20": "Open Strike",
36
+ "M_ShortMove12": "Quick Jab",
37
+ "M_ShortMove13": "Snap Kick",
38
+ "M_ShortMove14": "Light Punch",
39
+ "M_ShortMove15": "Drop Strike",
40
+ "M_ShortMove16": "Power Burst",
41
+ }
42
+
43
+
44
+ def format_display_name(clip_id: str) -> str:
45
+ """Convert clip ID to human-readable name."""
46
+ name = re.sub(r"^[BJMV]_", "", clip_id)
47
+ name = re.sub(r"([a-z\d])([A-Z])", r"\1 \2", name)
48
+ name = re.sub(r"([A-Za-z])(\d)", r"\1 \2", name)
49
+ name = name.replace("_", " ")
50
+ return name
51
+
52
+
53
+ def get_media_file(clip_id: str, stage: str) -> str:
54
+ """Return the expected GIF filename for a clip at a given stage."""
55
+ if stage == "capture":
56
+ return f"{clip_id}.gif"
57
+ return f"{clip_id}_{stage}.gif"
58
+
59
+
60
+ def scan_stage(repo: Path, category: str, clip_id: str, stage: str) -> dict | None:
61
+ """Check for media files at a pipeline stage. Returns paths dict or None."""
62
+ stage_dir = repo / category / clip_id / stage
63
+ result = {}
64
+
65
+ gif_name = get_media_file(clip_id, stage)
66
+ gif_path = stage_dir / gif_name
67
+ if gif_path.exists():
68
+ result["gif"] = f"{category}/{clip_id}/{stage}/{gif_name}"
69
+
70
+ # Also check for MP4
71
+ mp4_name = gif_name.replace(".gif", ".mp4")
72
+ mp4_path = stage_dir / mp4_name
73
+ if mp4_path.exists():
74
+ result["mp4"] = f"{category}/{clip_id}/{stage}/{mp4_name}"
75
+
76
+ return result if result else None
77
+
78
+
79
+ def main():
80
+ parser = argparse.ArgumentParser(description="Generate site data from manifest")
81
+ parser.add_argument(
82
+ "--repo",
83
+ type=Path,
84
+ default=Path(__file__).parent.parent,
85
+ help="Path to g1-moves repository root",
86
+ )
87
+ args = parser.parse_args()
88
+ repo = args.repo.resolve()
89
+
90
+ manifest_path = repo / "manifest.json"
91
+ if not manifest_path.exists():
92
+ print(f"ERROR: manifest.json not found at {manifest_path}")
93
+ return
94
+
95
+ manifest = json.loads(manifest_path.read_text())
96
+
97
+ clips = []
98
+ stats = {"dance": 0, "karate": 0, "bonus": 0, "policies": 0, "total": 0}
99
+
100
+ for clip_id, info in sorted(manifest["clips"].items()):
101
+ cat = info["category"]
102
+ stats[cat] = stats.get(cat, 0) + 1
103
+ stats["total"] += 1
104
+
105
+ stages = {}
106
+ for stage in STAGES:
107
+ media = scan_stage(repo, cat, clip_id, stage)
108
+ if media:
109
+ stages[stage] = media
110
+
111
+ has_policy = "policy" in stages
112
+ if has_policy:
113
+ stats["policies"] += 1
114
+
115
+ subtitle = KARATE_SUBTITLES.get(clip_id)
116
+ display_name = format_display_name(clip_id)
117
+ if subtitle:
118
+ display_name = f"{display_name}: {subtitle}"
119
+
120
+ clips.append(
121
+ {
122
+ "id": clip_id,
123
+ "name": display_name,
124
+ "category": cat,
125
+ "performer": info.get("performer", "Unknown"),
126
+ "duration": info.get("duration_s", 0),
127
+ "fps": info.get("fps", 60),
128
+ "frames": info.get("frames", 0),
129
+ "stages": stages,
130
+ "has_policy": has_policy,
131
+ }
132
+ )
133
+
134
+ # Sort: categories grouped, then alphabetical
135
+ cat_order = {"dance": 0, "karate": 1, "bonus": 2}
136
+ clips.sort(key=lambda c: (cat_order.get(c["category"], 9), c["id"]))
137
+
138
+ data = {
139
+ "base_url": "https://huggingface.co/datasets/exptech/g1-moves/resolve/main",
140
+ "clips": clips,
141
+ "stats": stats,
142
+ }
143
+
144
+ output = Path(__file__).parent / "data.json"
145
+ output.write_text(json.dumps(data, indent=2))
146
+ print(f"Generated {output.name}: {len(clips)} clips, {stats['policies']} policies")
147
+
148
+
149
+ if __name__ == "__main__":
150
+ main()
media/bonus/B_Fence1/capture/B_Fence1.mp4 ADDED
Binary file (14.2 kB). View file
 
media/bonus/B_Fence1/policy/B_Fence1_policy.mp4 ADDED
Binary file (10.8 kB). View file
 
media/bonus/B_Fence1/retarget/B_Fence1_retarget.mp4 ADDED
Binary file (14.5 kB). View file
 
media/bonus/B_Fence1/training/B_Fence1_training.mp4 ADDED
Binary file (17.5 kB). View file
 
media/bonus/B_Fence2/capture/B_Fence2.mp4 ADDED
Binary file (25.8 kB). View file
 
media/bonus/B_Fence2/policy/B_Fence2_policy.mp4 ADDED
Binary file (41.9 kB). View file
 
media/bonus/B_Fence2/retarget/B_Fence2_retarget.mp4 ADDED
Binary file (33.5 kB). View file
 
media/bonus/B_Fence2/training/B_Fence2_training.mp4 ADDED
Binary file (50.5 kB). View file
 
media/bonus/B_HandsChop/capture/B_HandsChop.mp4 ADDED
Binary file (30.4 kB). View file
 
media/bonus/B_HandsChop/policy/B_HandsChop_policy.mp4 ADDED
Binary file (21.6 kB). View file
 
media/bonus/B_HandsChop/retarget/B_HandsChop_retarget.mp4 ADDED
Binary file (30.9 kB). View file
 
media/bonus/B_HandsChop/training/B_HandsChop_training.mp4 ADDED
Binary file (39.5 kB). View file
 
media/bonus/B_HandsUp/capture/B_HandsUp.mp4 ADDED
Binary file (14.9 kB). View file
 
media/bonus/B_HandsUp/policy/B_HandsUp_policy.mp4 ADDED
Binary file (26.6 kB). View file
 
media/bonus/B_HandsUp/retarget/B_HandsUp_retarget.mp4 ADDED
Binary file (18 kB). View file
 
media/bonus/B_HandsUp/training/B_HandsUp_training.mp4 ADDED
Binary file (23.4 kB). View file
 
media/dance/B_DadDance/capture/B_DadDance.mp4 ADDED
Binary file (30.5 kB). View file
 
media/dance/B_DadDance/retarget/B_DadDance_retarget.mp4 ADDED
Binary file (31.4 kB). View file
 
media/dance/B_DadDance/training/B_DadDance_training.mp4 ADDED
Binary file (39.9 kB). View file
 
media/dance/B_LongDance/capture/B_LongDance.mp4 ADDED
Binary file (44.8 kB). View file
 
media/dance/B_LongDance/policy/B_LongDance_policy.mp4 ADDED
Binary file (53.4 kB). View file
 
media/dance/B_LongDance/retarget/B_LongDance_retarget.mp4 ADDED
Binary file (45 kB). View file
 
media/dance/B_LongDance/training/B_LongDance_training.mp4 ADDED
Binary file (68.8 kB). View file
 
media/dance/B_SpiralDance/capture/B_SpiralDance.mp4 ADDED
Binary file (24.3 kB). View file
 
media/dance/B_SpiralDance/policy/B_SpiralDance_policy.mp4 ADDED
Binary file (22.8 kB). View file
 
media/dance/B_SpiralDance/retarget/B_SpiralDance_retarget.mp4 ADDED
Binary file (25.8 kB). View file
 
media/dance/B_SpiralDance/training/B_SpiralDance_training.mp4 ADDED
Binary file (34.4 kB). View file
 
media/dance/B_StretchDance/capture/B_StretchDance.mp4 ADDED
Binary file (24.4 kB). View file
 
media/dance/B_StretchDance/policy/B_StretchDance_policy.mp4 ADDED
Binary file (28.8 kB). View file
 
media/dance/B_StretchDance/retarget/B_StretchDance_retarget.mp4 ADDED
Binary file (28.3 kB). View file
 
media/dance/B_StretchDance/training/B_StretchDance_training.mp4 ADDED
Binary file (37 kB). View file
 
media/dance/B_WiggleDance/capture/B_WiggleDance.mp4 ADDED
Binary file (25.9 kB). View file
 
media/dance/B_WiggleDance/retarget/B_WiggleDance_retarget.mp4 ADDED
Binary file (20.4 kB). View file
 
media/dance/B_WiggleDance/training/B_WiggleDance_training.mp4 ADDED
Binary file (31.7 kB). View file
 
media/dance/J_Dance0_StepTouch/capture/J_Dance0_StepTouch.mp4 ADDED
Binary file (36.7 kB). View file
 
media/dance/J_Dance0_StepTouch/retarget/J_Dance0_StepTouch_retarget.mp4 ADDED
Binary file (37.3 kB). View file
 
media/dance/J_Dance0_StepTouch/training/J_Dance0_StepTouch_training.mp4 ADDED
Binary file (53.4 kB). View file
 
media/dance/J_Dance11_Gnarly/capture/J_Dance11_Gnarly.mp4 ADDED
Binary file (36.4 kB). View file
 
media/dance/J_Dance11_Gnarly/policy/J_Dance11_Gnarly_policy.mp4 ADDED
Binary file (46.2 kB). View file
 
media/dance/J_Dance11_Gnarly/retarget/J_Dance11_Gnarly_retarget.mp4 ADDED
Binary file (41.4 kB). View file
 
media/dance/J_Dance11_Gnarly/training/J_Dance11_Gnarly_training.mp4 ADDED
Binary file (57.8 kB). View file
 
media/dance/J_Dance12_LushLife/capture/J_Dance12_LushLife.mp4 ADDED
Binary file (46.8 kB). View file
 
media/dance/J_Dance12_LushLife/retarget/J_Dance12_LushLife_retarget.mp4 ADDED
Binary file (48.7 kB). View file
 
media/dance/J_Dance12_LushLife/training/J_Dance12_LushLife_training.mp4 ADDED
Binary file (72.4 kB). View file