Spaces:
Running on Zero
Running on Zero
Deploy Karate Wiener (kimodo kata maker)
Browse files- _check_drawer.js +49 -16
- app.py +48 -30
- deploy_out12.txt +4 -0
- deploy_out13.txt +495 -0
_check_drawer.js
CHANGED
|
@@ -803,11 +803,20 @@
|
|
| 803 |
return btoa(bin);
|
| 804 |
}
|
| 805 |
function viewerPayload(m, id, prompt, opts) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 806 |
return {
|
| 807 |
-
id: id || '', prompt: prompt || '', keepCamera: !!(opts && opts.keepCamera),
|
| 808 |
-
num_joints: m.num_joints, num_frames:
|
| 809 |
-
preview_fps: m.
|
| 810 |
-
|
|
|
|
|
|
|
|
|
|
| 811 |
// Red target skeletons at each move's seam (only for stitched katas, >1 move).
|
| 812 |
target_frames: (m.target_frames && m.target_frames.length > 1) ? m.target_frames : null,
|
| 813 |
created_by: m.created_by || '', created_by_name: m.created_by_name || '',
|
|
@@ -1402,17 +1411,26 @@
|
|
| 1402 |
// Re-stitch the generated prefix and refresh the scrubbable preview. When `startMove`
|
| 1403 |
// is given, playback begins at THAT move's start pose (not frame 0) — so after a
|
| 1404 |
// GENERATE you see the kata pick up from the just-built move, not replay from the top.
|
| 1405 |
-
async function updateKataPreview(startMove) {
|
| 1406 |
const { ids } = generatedPrefix();
|
| 1407 |
-
if (!ids.length) { composePlayer = null; renderComposePlayer(); return; }
|
| 1408 |
try {
|
| 1409 |
-
|
| 1410 |
-
|
| 1411 |
-
|
| 1412 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1413 |
_czViewerHasPreview = true;
|
| 1414 |
loadIntoViewer(m, '', (composeCurrentKata && composeCurrentKata.label) || 'kata', { keepCamera: true });
|
| 1415 |
-
composePlayer = { numFrames: m.num_frames || 1, fps: m.fps || 30, poseFrac: posefracFromStrip(), curFrame: 0, playing: true, genCount: ids.length, boundaries: _czBoundaries(m), _payload: m };
|
| 1416 |
renderComposePlayer();
|
| 1417 |
// Start at the requested move's start frame (pf[startMove-1]) instead of the top.
|
| 1418 |
let sf = 0;
|
|
@@ -2158,7 +2176,9 @@
|
|
| 2158 |
if (meta.move_index) { composeJustGenIdx = meta.move_index; clearPlaceMode(); } // per-move bridge: highlight the move just built
|
| 2159 |
saveCurrentKata();
|
| 2160 |
const builtIdx = meta.move_index || (composeStrip.length - 1);
|
| 2161 |
-
|
|
|
|
|
|
|
| 2162 |
setComposeStatus('▶ generated');
|
| 2163 |
} else {
|
| 2164 |
renderComposePlayer();
|
|
@@ -2953,10 +2973,23 @@
|
|
| 2953 |
setPulse(true);
|
| 2954 |
});
|
| 2955 |
|
| 2956 |
-
//
|
| 2957 |
-
//
|
| 2958 |
-
|
| 2959 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2960 |
})();
|
| 2961 |
|
| 2962 |
|
|
|
|
| 803 |
return btoa(bin);
|
| 804 |
}
|
| 805 |
function viewerPayload(m, id, prompt, opts) {
|
| 806 |
+
// m may be a RAW stitched record (posed_joints/global_quats_xyzw/root_positions) OR an
|
| 807 |
+
// already-encoded preview payload (joint_data_b64/...). When it's already b64 (the
|
| 808 |
+
// server-stitched in-process build), pass it through verbatim instead of re-encoding
|
| 809 |
+
// undefined raw arrays — so the live iframe can be reused without a reload.
|
| 810 |
+
const b64 = !!m.joint_data_b64;
|
| 811 |
+
const nf = m.num_frames || m.preview_frames;
|
| 812 |
return {
|
| 813 |
+
id: id || m.id || '', prompt: prompt || m.prompt || '', keepCamera: !!(opts && opts.keepCamera),
|
| 814 |
+
num_joints: m.num_joints, num_frames: nf, preview_frames: m.preview_frames || nf,
|
| 815 |
+
preview_fps: m.preview_fps || m.fps, fps: m.fps || m.preview_fps,
|
| 816 |
+
bone_names: m.bone_names, parents: m.parents,
|
| 817 |
+
joint_data_b64: b64 ? m.joint_data_b64 : f32b64(m.posed_joints),
|
| 818 |
+
quat_data_b64: b64 ? (m.quat_data_b64 || null) : f32b64(m.global_quats_xyzw),
|
| 819 |
+
root_data_b64: b64 ? (m.root_data_b64 || null) : f32b64(m.root_positions),
|
| 820 |
// Red target skeletons at each move's seam (only for stitched katas, >1 move).
|
| 821 |
target_frames: (m.target_frames && m.target_frames.length > 1) ? m.target_frames : null,
|
| 822 |
created_by: m.created_by || '', created_by_name: m.created_by_name || '',
|
|
|
|
| 1411 |
// Re-stitch the generated prefix and refresh the scrubbable preview. When `startMove`
|
| 1412 |
// is given, playback begins at THAT move's start pose (not frame 0) — so after a
|
| 1413 |
// GENERATE you see the kata pick up from the just-built move, not replay from the top.
|
| 1414 |
+
async function updateKataPreview(startMove, prebuilt) {
|
| 1415 |
const { ids } = generatedPrefix();
|
| 1416 |
+
if (!ids.length && !prebuilt) { composePlayer = null; renderComposePlayer(); return; }
|
| 1417 |
try {
|
| 1418 |
+
let m;
|
| 1419 |
+
if (prebuilt) {
|
| 1420 |
+
// Server-stitched preview handed back from the in-process (Space) build. Reuse the
|
| 1421 |
+
// LIVE viewer iframe (no reload) and DON'T re-fetch the just-saved clips — the
|
| 1422 |
+
// dataset CDN lags right after a commit, so a client re-stitch would 404.
|
| 1423 |
+
m = prebuilt;
|
| 1424 |
+
if (!m.num_frames) m.num_frames = m.preview_frames || 1;
|
| 1425 |
+
} else {
|
| 1426 |
+
m = await composeStitch(ids);
|
| 1427 |
+
m.num_joints = (m.posed_joints && m.posed_joints[0]) ? m.posed_joints[0].length : 22;
|
| 1428 |
+
if (!m.bone_names || !m.bone_names.length) m.bone_names = SMPLX22_BONES;
|
| 1429 |
+
m.parents = SMPLX22_PARENTS;
|
| 1430 |
+
}
|
| 1431 |
_czViewerHasPreview = true;
|
| 1432 |
loadIntoViewer(m, '', (composeCurrentKata && composeCurrentKata.label) || 'kata', { keepCamera: true });
|
| 1433 |
+
composePlayer = { numFrames: m.num_frames || 1, fps: m.fps || m.preview_fps || 30, poseFrac: posefracFromStrip(), curFrame: 0, playing: true, genCount: ids.length, boundaries: _czBoundaries(m), _payload: m };
|
| 1434 |
renderComposePlayer();
|
| 1435 |
// Start at the requested move's start frame (pf[startMove-1]) instead of the top.
|
| 1436 |
let sf = 0;
|
|
|
|
| 2176 |
if (meta.move_index) { composeJustGenIdx = meta.move_index; clearPlaceMode(); } // per-move bridge: highlight the move just built
|
| 2177 |
saveCurrentKata();
|
| 2178 |
const builtIdx = meta.move_index || (composeStrip.length - 1);
|
| 2179 |
+
// Play the server-stitched preview straight into the LIVE iframe (no page reload) —
|
| 2180 |
+
// the in-process build hands it back via meta.preview_payload.
|
| 2181 |
+
updateKataPreview(builtIdx, meta.preview_payload || null).then(() => { if (builtIdx >= 1 && builtIdx < composeStrip.length) { if (composeStrip[builtIdx]) _czGenPulseUid = composeStrip[builtIdx]._uid; selectMove(builtIdx); } }); // play from this move's start + keep selected + pulse gray→purple
|
| 2182 |
setComposeStatus('▶ generated');
|
| 2183 |
} else {
|
| 2184 |
renderComposePlayer();
|
|
|
|
| 2973 |
setPulse(true);
|
| 2974 |
});
|
| 2975 |
|
| 2976 |
+
// Don't start the first-run pulse until the intro TITLE overlay has finished. The intro
|
| 2977 |
+
// (#kw-title-overlay) is added just after this script and REMOVED from the DOM when it
|
| 2978 |
+
// ends; it covers the whole screen meanwhile. So: wait until it has appeared and gone,
|
| 2979 |
+
// or — if no intro exists (no audio asset) — proceed after a short grace window.
|
| 2980 |
+
function gateInitialPulse() {
|
| 2981 |
+
var present = function () { return !!document.getElementById('kw-title-overlay'); };
|
| 2982 |
+
var sawIntro = present();
|
| 2983 |
+
var iv = setInterval(function () {
|
| 2984 |
+
if (present()) { sawIntro = true; return; } // intro still on screen
|
| 2985 |
+
if (sawIntro) { clearInterval(iv); applyState(); } // appeared then gone = intro done
|
| 2986 |
+
}, 250);
|
| 2987 |
+
// No intro showed up within the grace window => nothing to wait for.
|
| 2988 |
+
setTimeout(function () { if (!sawIntro && !present()) { clearInterval(iv); applyState(); } }, 1300);
|
| 2989 |
+
// Hard safety: never wait forever.
|
| 2990 |
+
setTimeout(function () { clearInterval(iv); applyState(); }, 15000);
|
| 2991 |
+
}
|
| 2992 |
+
gateInitialPulse();
|
| 2993 |
})();
|
| 2994 |
|
| 2995 |
|
app.py
CHANGED
|
@@ -4590,11 +4590,20 @@ _KATA_JS = r"""
|
|
| 4590 |
return btoa(bin);
|
| 4591 |
}
|
| 4592 |
function viewerPayload(m, id, prompt, opts) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4593 |
return {
|
| 4594 |
-
id: id || '', prompt: prompt || '', keepCamera: !!(opts && opts.keepCamera),
|
| 4595 |
-
num_joints: m.num_joints, num_frames:
|
| 4596 |
-
preview_fps: m.
|
| 4597 |
-
|
|
|
|
|
|
|
|
|
|
| 4598 |
// Red target skeletons at each move's seam (only for stitched katas, >1 move).
|
| 4599 |
target_frames: (m.target_frames && m.target_frames.length > 1) ? m.target_frames : null,
|
| 4600 |
created_by: m.created_by || '', created_by_name: m.created_by_name || '',
|
|
@@ -5200,17 +5209,26 @@ _COMPOSE_JS = r"""
|
|
| 5200 |
// Re-stitch the generated prefix and refresh the scrubbable preview. When `startMove`
|
| 5201 |
// is given, playback begins at THAT move's start pose (not frame 0) — so after a
|
| 5202 |
// GENERATE you see the kata pick up from the just-built move, not replay from the top.
|
| 5203 |
-
async function updateKataPreview(startMove) {
|
| 5204 |
const { ids } = generatedPrefix();
|
| 5205 |
-
if (!ids.length) { composePlayer = null; renderComposePlayer(); return; }
|
| 5206 |
try {
|
| 5207 |
-
|
| 5208 |
-
|
| 5209 |
-
|
| 5210 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5211 |
_czViewerHasPreview = true;
|
| 5212 |
loadIntoViewer(m, '', (composeCurrentKata && composeCurrentKata.label) || 'kata', { keepCamera: true });
|
| 5213 |
-
composePlayer = { numFrames: m.num_frames || 1, fps: m.fps || 30, poseFrac: posefracFromStrip(), curFrame: 0, playing: true, genCount: ids.length, boundaries: _czBoundaries(m), _payload: m };
|
| 5214 |
renderComposePlayer();
|
| 5215 |
// Start at the requested move's start frame (pf[startMove-1]) instead of the top.
|
| 5216 |
let sf = 0;
|
|
@@ -5956,7 +5974,9 @@ _COMPOSE_JS = r"""
|
|
| 5956 |
if (meta.move_index) { composeJustGenIdx = meta.move_index; clearPlaceMode(); } // per-move bridge: highlight the move just built
|
| 5957 |
saveCurrentKata();
|
| 5958 |
const builtIdx = meta.move_index || (composeStrip.length - 1);
|
| 5959 |
-
|
|
|
|
|
|
|
| 5960 |
setComposeStatus('▶ generated');
|
| 5961 |
} else {
|
| 5962 |
renderComposePlayer();
|
|
@@ -7147,7 +7167,9 @@ def _compose_single_move_logged_in(
|
|
| 7147 |
)
|
| 7148 |
if not isinstance(payload, dict) or record is None:
|
| 7149 |
err = meta.get("error") if isinstance(meta, dict) else "generation failed"
|
| 7150 |
-
|
|
|
|
|
|
|
| 7151 |
# Stitch the generated prefix (loaded from the store — store.get reads the
|
| 7152 |
# freshly-committed records reliably) + the new move, so the viewer shows the
|
| 7153 |
# kata up to here without waiting on dataset/CDN propagation.
|
|
@@ -7162,22 +7184,20 @@ def _compose_single_move_logged_in(
|
|
| 7162 |
spine_ids = list(prefix_ids) + [record["id"]]
|
| 7163 |
n = len(spine_ids)
|
| 7164 |
spayload["prompt"] = f"kata · {n} move{'' if n == 1 else 's'}"
|
| 7165 |
-
character = model if int(spayload.get("num_joints", 0) or 0) == 22 else "skeleton"
|
| 7166 |
-
# Point the picker at the just-generated move (a real, non-"kata:" clip id) so the
|
| 7167 |
-
# viewer PLAYS the stitched preview we pass as `data`. Passing None defaulted the
|
| 7168 |
-
# picker to the first kata option and auto-played the STARTUP kata 60ms later instead
|
| 7169 |
-
# of the move just generated. (Mirrors the single-generate path's current_id.)
|
| 7170 |
spayload["id"] = record["id"]
|
| 7171 |
-
|
| 7172 |
-
#
|
| 7173 |
-
#
|
|
|
|
|
|
|
| 7174 |
meta_out = {
|
| 7175 |
"kata_root": spine_ids[0], "kata_ids": spine_ids, "moves": n,
|
| 7176 |
"num_frames": stitched["num_frames"], "move_index": int(mv.get("index") or n),
|
|
|
|
| 7177 |
}
|
| 7178 |
if creator:
|
| 7179 |
meta_out.update(creator)
|
| 7180 |
-
return
|
| 7181 |
|
| 7182 |
|
| 7183 |
def compose_ui_logged_in(
|
|
@@ -7240,23 +7260,21 @@ def compose_ui_logged_in(
|
|
| 7240 |
)
|
| 7241 |
if not isinstance(payload, dict) or record is None:
|
| 7242 |
err = meta.get("error") if isinstance(meta, dict) else "generation failed"
|
| 7243 |
-
return
|
| 7244 |
prev_id = record["id"]
|
| 7245 |
recs.append(record)
|
| 7246 |
npz_last = npz_path
|
| 7247 |
stitched = _stitch_records(recs)
|
| 7248 |
spayload = _preview_payload_from_record(stitched)
|
| 7249 |
spayload["prompt"] = f"storyboard · {len(recs)} moves"
|
| 7250 |
-
character = model if int(spayload.get("num_joints", 0) or 0) == 22 else "skeleton"
|
| 7251 |
-
# Point the picker at the last built move (non-"kata:" clip id) so the viewer plays
|
| 7252 |
-
# the stitched `data` instead of defaulting to / auto-playing the startup kata.
|
| 7253 |
spayload["id"] = recs[-1]["id"]
|
| 7254 |
-
|
| 7255 |
-
#
|
| 7256 |
-
meta_out = {"kata_root": recs[0]["id"], "kata_ids": [r["id"] for r in recs], "moves": len(recs),
|
|
|
|
| 7257 |
if creator:
|
| 7258 |
meta_out.update(creator)
|
| 7259 |
-
return
|
| 7260 |
|
| 7261 |
|
| 7262 |
# Collapse the empty drawer host (its content is fixed-positioned) so it leaves
|
|
|
|
| 4590 |
return btoa(bin);
|
| 4591 |
}
|
| 4592 |
function viewerPayload(m, id, prompt, opts) {
|
| 4593 |
+
// m may be a RAW stitched record (posed_joints/global_quats_xyzw/root_positions) OR an
|
| 4594 |
+
// already-encoded preview payload (joint_data_b64/...). When it's already b64 (the
|
| 4595 |
+
// server-stitched in-process build), pass it through verbatim instead of re-encoding
|
| 4596 |
+
// undefined raw arrays — so the live iframe can be reused without a reload.
|
| 4597 |
+
const b64 = !!m.joint_data_b64;
|
| 4598 |
+
const nf = m.num_frames || m.preview_frames;
|
| 4599 |
return {
|
| 4600 |
+
id: id || m.id || '', prompt: prompt || m.prompt || '', keepCamera: !!(opts && opts.keepCamera),
|
| 4601 |
+
num_joints: m.num_joints, num_frames: nf, preview_frames: m.preview_frames || nf,
|
| 4602 |
+
preview_fps: m.preview_fps || m.fps, fps: m.fps || m.preview_fps,
|
| 4603 |
+
bone_names: m.bone_names, parents: m.parents,
|
| 4604 |
+
joint_data_b64: b64 ? m.joint_data_b64 : f32b64(m.posed_joints),
|
| 4605 |
+
quat_data_b64: b64 ? (m.quat_data_b64 || null) : f32b64(m.global_quats_xyzw),
|
| 4606 |
+
root_data_b64: b64 ? (m.root_data_b64 || null) : f32b64(m.root_positions),
|
| 4607 |
// Red target skeletons at each move's seam (only for stitched katas, >1 move).
|
| 4608 |
target_frames: (m.target_frames && m.target_frames.length > 1) ? m.target_frames : null,
|
| 4609 |
created_by: m.created_by || '', created_by_name: m.created_by_name || '',
|
|
|
|
| 5209 |
// Re-stitch the generated prefix and refresh the scrubbable preview. When `startMove`
|
| 5210 |
// is given, playback begins at THAT move's start pose (not frame 0) — so after a
|
| 5211 |
// GENERATE you see the kata pick up from the just-built move, not replay from the top.
|
| 5212 |
+
async function updateKataPreview(startMove, prebuilt) {
|
| 5213 |
const { ids } = generatedPrefix();
|
| 5214 |
+
if (!ids.length && !prebuilt) { composePlayer = null; renderComposePlayer(); return; }
|
| 5215 |
try {
|
| 5216 |
+
let m;
|
| 5217 |
+
if (prebuilt) {
|
| 5218 |
+
// Server-stitched preview handed back from the in-process (Space) build. Reuse the
|
| 5219 |
+
// LIVE viewer iframe (no reload) and DON'T re-fetch the just-saved clips — the
|
| 5220 |
+
// dataset CDN lags right after a commit, so a client re-stitch would 404.
|
| 5221 |
+
m = prebuilt;
|
| 5222 |
+
if (!m.num_frames) m.num_frames = m.preview_frames || 1;
|
| 5223 |
+
} else {
|
| 5224 |
+
m = await composeStitch(ids);
|
| 5225 |
+
m.num_joints = (m.posed_joints && m.posed_joints[0]) ? m.posed_joints[0].length : 22;
|
| 5226 |
+
if (!m.bone_names || !m.bone_names.length) m.bone_names = SMPLX22_BONES;
|
| 5227 |
+
m.parents = SMPLX22_PARENTS;
|
| 5228 |
+
}
|
| 5229 |
_czViewerHasPreview = true;
|
| 5230 |
loadIntoViewer(m, '', (composeCurrentKata && composeCurrentKata.label) || 'kata', { keepCamera: true });
|
| 5231 |
+
composePlayer = { numFrames: m.num_frames || 1, fps: m.fps || m.preview_fps || 30, poseFrac: posefracFromStrip(), curFrame: 0, playing: true, genCount: ids.length, boundaries: _czBoundaries(m), _payload: m };
|
| 5232 |
renderComposePlayer();
|
| 5233 |
// Start at the requested move's start frame (pf[startMove-1]) instead of the top.
|
| 5234 |
let sf = 0;
|
|
|
|
| 5974 |
if (meta.move_index) { composeJustGenIdx = meta.move_index; clearPlaceMode(); } // per-move bridge: highlight the move just built
|
| 5975 |
saveCurrentKata();
|
| 5976 |
const builtIdx = meta.move_index || (composeStrip.length - 1);
|
| 5977 |
+
// Play the server-stitched preview straight into the LIVE iframe (no page reload) —
|
| 5978 |
+
// the in-process build hands it back via meta.preview_payload.
|
| 5979 |
+
updateKataPreview(builtIdx, meta.preview_payload || null).then(() => { if (builtIdx >= 1 && builtIdx < composeStrip.length) { if (composeStrip[builtIdx]) _czGenPulseUid = composeStrip[builtIdx]._uid; selectMove(builtIdx); } }); // play from this move's start + keep selected + pulse gray→purple
|
| 5980 |
setComposeStatus('▶ generated');
|
| 5981 |
} else {
|
| 5982 |
renderComposePlayer();
|
|
|
|
| 7167 |
)
|
| 7168 |
if not isinstance(payload, dict) or record is None:
|
| 7169 |
err = meta.get("error") if isinstance(meta, dict) else "generation failed"
|
| 7170 |
+
# gr.skip() leaves the viewer iframe untouched (no reload) — surface the error
|
| 7171 |
+
# through meta instead; the composer JS shows it via setComposeStatus.
|
| 7172 |
+
return gr.skip(), {"error": str(err)[:160]}, None
|
| 7173 |
# Stitch the generated prefix (loaded from the store — store.get reads the
|
| 7174 |
# freshly-committed records reliably) + the new move, so the viewer shows the
|
| 7175 |
# kata up to here without waiting on dataset/CDN propagation.
|
|
|
|
| 7184 |
spine_ids = list(prefix_ids) + [record["id"]]
|
| 7185 |
n = len(spine_ids)
|
| 7186 |
spayload["prompt"] = f"kata · {n} move{'' if n == 1 else 's'}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7187 |
spayload["id"] = record["id"]
|
| 7188 |
+
# REUSE the existing viewer iframe instead of returning fresh HTML: returning HTML to
|
| 7189 |
+
# the `preview` output made Gradio swap #main-preview, fully reloading three.js + the
|
| 7190 |
+
# character GLB + clothing on every move. Hand the server-stitched preview to the client
|
| 7191 |
+
# (via meta.preview_payload) so it postMessages it straight into the live iframe, and
|
| 7192 |
+
# gr.skip() the preview so the iframe is never touched.
|
| 7193 |
meta_out = {
|
| 7194 |
"kata_root": spine_ids[0], "kata_ids": spine_ids, "moves": n,
|
| 7195 |
"num_frames": stitched["num_frames"], "move_index": int(mv.get("index") or n),
|
| 7196 |
+
"preview_payload": spayload,
|
| 7197 |
}
|
| 7198 |
if creator:
|
| 7199 |
meta_out.update(creator)
|
| 7200 |
+
return gr.skip(), meta_out, npz_path
|
| 7201 |
|
| 7202 |
|
| 7203 |
def compose_ui_logged_in(
|
|
|
|
| 7260 |
)
|
| 7261 |
if not isinstance(payload, dict) or record is None:
|
| 7262 |
err = meta.get("error") if isinstance(meta, dict) else "generation failed"
|
| 7263 |
+
return gr.skip(), {"error": f"Build failed at move {i + 1}: {str(err)[:140]}"}, None
|
| 7264 |
prev_id = record["id"]
|
| 7265 |
recs.append(record)
|
| 7266 |
npz_last = npz_path
|
| 7267 |
stitched = _stitch_records(recs)
|
| 7268 |
spayload = _preview_payload_from_record(stitched)
|
| 7269 |
spayload["prompt"] = f"storyboard · {len(recs)} moves"
|
|
|
|
|
|
|
|
|
|
| 7270 |
spayload["id"] = recs[-1]["id"]
|
| 7271 |
+
# Reuse the live viewer iframe (no reload): hand the server-stitched preview to the
|
| 7272 |
+
# client to postMessage in, and gr.skip() the preview output (see the per-move twin).
|
| 7273 |
+
meta_out = {"kata_root": recs[0]["id"], "kata_ids": [r["id"] for r in recs], "moves": len(recs),
|
| 7274 |
+
"num_frames": stitched["num_frames"], "preview_payload": spayload}
|
| 7275 |
if creator:
|
| 7276 |
meta_out.update(creator)
|
| 7277 |
+
return gr.skip(), meta_out, npz_last
|
| 7278 |
|
| 7279 |
|
| 7280 |
# Collapse the empty drawer host (its content is fixed-positioned) so it leaves
|
deploy_out12.txt
CHANGED
|
@@ -556,3 +556,7 @@ variables + HF_TOKEN secret set
|
|
| 556 |
|
| 557 |
...eft_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB
|
| 558 |
|
| 559 |
...keletons\smplx22\beta.npy: 100%|##########| 1.33kB / 1.33kB
|
| 560 |
|
| 561 |
[+ 75 files] : 100%|##########| 76.6MB / 76.6MB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 556 |
|
| 557 |
...eft_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB
|
| 558 |
|
| 559 |
...keletons\smplx22\beta.npy: 100%|##########| 1.33kB / 1.33kB
|
| 560 |
|
| 561 |
[+ 75 files] : 100%|##########| 76.6MB / 76.6MB
|
| 562 |
+
No files have been modified since last commit. Skipping to prevent empty commit.
|
| 563 |
+
Uploaded: https://huggingface.co/spaces/build-small-hackathon/karate-wiener/commit/c8ea71643563e3cf3c7c104af10f9b34fa520801
|
| 564 |
+
Space URL: https://huggingface.co/spaces/build-small-hackathon/karate-wiener
|
| 565 |
+
restarting local gradio -> http://127.0.0.1:7860 (log: C:\Users\paulg\AppData\Local\Temp\kimodo_local_gradio.log)
|
deploy_out13.txt
ADDED
|
@@ -0,0 +1,495 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 0 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
|
|
|
|
|
|
| 1 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
|
|
|
|
|
|
| 2 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
|
|
|
|
|
|
| 3 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
|
|
|
|
|
|
| 4 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
|
|
|
|
|
|
| 5 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
|
|
|
|
|
|
| 7 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
|
|
|
|
|
|
| 8 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
|
|
|
|
|
|
| 9 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
|
|
|
|
|
|
| 10 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
|
|
|
|
|
|
| 12 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
|
|
|
|
|
|
| 13 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
|
|
|
|
|
|
| 14 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
|
|
|
|
|
|
| 15 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
|
|
|
|
|
|
| 17 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
|
|
|
|
|
|
| 18 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
|
|
|
|
|
|
| 19 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
|
|
|
|
|
|
| 20 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
|
|
|
|
|
|
| 22 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
|
|
|
|
|
|
| 23 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
|
|
|
|
|
|
| 24 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
|
|
|
|
|
|
| 25 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
|
|
|
|
|
|
| 27 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
|
|
|
|
|
|
| 28 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
|
|
|
|
|
|
| 29 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
|
|
|
|
|
|
| 30 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
|
|
|
|
|
|
| 31 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
...\right_hand_palm_link.STL: 100%|##########| 2.14MB / 2.14MB [A[A
|
|
|
|
|
|
|
|
|
|
| 33 |
..._kmd_db1d3fe8af7846f5.png: 100%|##########| 146kB / 146kB [A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB [A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
...e\wiener_session_crab.png: 100%|##########| 376kB / 376kB [A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
...pace\comic_klein_test.png: 100%|##########| 2.34MB / 2.34MB [A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 38 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB [A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
...g1\torso_link_rev_1_0.STL: 100%|##########| 2.57MB / 2.57MB [A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 40 |
...laxed_hands_rest_pose.npy: 100%|##########| 2.90kB / 2.90kB [A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
...rso_constraint_R_link.STL: 100%|##########| 204kB / 204kB [A[A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
| 42 |
...\right_hand_palm_link.STL: 100%|##########| 2.14MB / 2.14MB [A[A
|
|
|
|
|
|
|
|
|
|
| 43 |
..._kmd_db1d3fe8af7846f5.png: 100%|##########| 146kB / 146kB [A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 45 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB [A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
...e\wiener_session_crab.png: 100%|##########| 376kB / 376kB [A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
...pace\comic_klein_test.png: 100%|##########| 2.34MB / 2.34MB [A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB [A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
...g1\torso_link_rev_1_0.STL: 100%|##########| 2.57MB / 2.57MB [A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
...laxed_hands_rest_pose.npy: 100%|##########| 2.90kB / 2.90kB [A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
[+ 75 files] : 100%|##########| 76.3MB / 76.3MB [A[A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
| 52 |
...ft_shoulder_roll_link.STL: 100%|##########| 400kB / 400kB [A[A
|
|
|
|
|
|
|
|
|
|
| 53 |
...ght_shoulder_yaw_link.STL: 100%|##########| 250kB / 250kB [A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
...ght_hand_index_1_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
...mic_base_vs_distilled.png: 100%|##########| 4.80MB / 4.80MB [A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
...\g1\left_hip_yaw_link.STL: 100%|##########| 296kB / 296kB [A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
...ht_hand_middle_1_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
...choreo_stances_verify.png: 100%|##########| 150kB / 150kB [A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
...eft_shoulder_yaw_link.STL: 100%|##########| 249kB / 249kB [A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
...right_ankle_roll_link.STL: 100%|##########| 654kB / 654kB [A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
[+ 75 files] : 100%|##########| 76.4MB / 76.4MB [A[A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
| 62 |
...ace\wiener_proto_card.png: 100%|##########| 466kB / 466kB [A[A
|
|
|
|
|
|
|
|
|
|
| 63 |
...-space\box_klein_test.png: 100%|##########| 660kB / 660kB [A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
...keletons\smplx22\beta.npy: 100%|##########| 1.33kB / 1.33kB [A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
...space\comic_lora_test.png: 100%|##########| 3.16MB / 3.16MB [A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
...assets\default_scene.webp: 100%|##########| 231kB / 231kB [A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 67 |
...eft_hand_index_1_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
...ata_reference_stances.png: 100%|##########| 228kB / 228kB [A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
...\left_wrist_roll_link.STL: 100%|##########| 356kB / 356kB [A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
...1\left_wrist_yaw_link.STL: 100%|##########| 319kB / 319kB [A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
[+ 75 files] : 100%|##########| 79.3MB / 79.3MB [A[A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
| 72 |
...rist_roll_rubber_hand.STL: 100%|##########| 3.48MB / 3.48MB [A[A
|
|
|
|
|
|
|
|
|
|
| 73 |
...t_shoulder_pitch_link.STL: 100%|##########| 177kB / 177kB [A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
...ft_hand_middle_0_link.STL: 100%|##########| 476kB / 476kB [A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
...t_shoulder_pitch_link.STL: 100%|##########| 177kB / 177kB [A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 77 |
...g1\waist_constraint_L.STL: 100%|##########| 115kB / 115kB [A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
...ght_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 79 |
...eft_hand_thumb_1_link.STL: 100%|##########| 476kB / 476kB [A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 80 |
...ft_shoulder_roll_link.STL: 100%|##########| 400kB / 400kB [A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 81 |
[+ 75 files] : 100%|##########| 79.3MB / 79.3MB [A[A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
| 82 |
...mic_base_vs_distilled.png: 100%|##########| 4.80MB / 4.80MB [A[A
|
|
|
|
|
|
|
|
|
|
| 83 |
...eft_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
...ata_reference_stances.png: 100%|##########| 228kB / 228kB [A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
...s\g1\left_rubber_hand.STL: 100%|##########| 2.29MB / 2.29MB [A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB [A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 87 |
...1\left_wrist_yaw_link.STL: 100%|##########| 319kB / 319kB [A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
...el34\meshes\g1\pelvis.STL: 100%|##########| 1.06MB / 1.06MB [A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
...ht_hand_middle_0_link.STL: 100%|##########| 476kB / 476kB [A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB [A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
[+ 75 files] : 100%|##########| 73.3MB / 73.3MB [A[A[A[A[A[A[A[A[A[A[A
|
|
|
|
|
|
|
| 92 |
...mic_base_vs_distilled.png: 100%|##########| 4.80MB / 4.80MB
|
|
|
|
| 93 |
...eft_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB
|
|
|
|
| 94 |
...ata_reference_stances.png: 100%|##########| 228kB / 228kB
|
|
|
|
| 95 |
...s\g1\left_rubber_hand.STL: 100%|##########| 2.29MB / 2.29MB
|
|
|
|
| 96 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB
|
|
|
|
| 97 |
...1\left_wrist_yaw_link.STL: 100%|##########| 319kB / 319kB
|
|
|
|
| 98 |
...el34\meshes\g1\pelvis.STL: 100%|##########| 1.06MB / 1.06MB
|
|
|
|
| 99 |
...ht_hand_middle_0_link.STL: 100%|##########| 476kB / 476kB
|
|
|
|
| 100 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB
|
|
|
|
| 101 |
[+ 75 files] : 100%|##########| 73.3MB / 73.3MB
|
|
|
|
| 1 |
+
dataset ready: build-small-hackathon/karate-wiener-animations
|
| 2 |
+
|
| 3 |
+
|
| 4 |
+
|
| 5 |
+
|
| 6 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
| 7 |
+
|
| 8 |
+
|
| 9 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
| 10 |
+
|
| 11 |
+
|
| 12 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
| 13 |
+
|
| 14 |
+
|
| 15 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
| 16 |
+
|
| 17 |
+
|
| 18 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB [A[A
|
| 19 |
+
|
| 20 |
+
|
| 21 |
...\beanie_green_sausage.glb: 100%|##########| 1.21MB / 1.21MB
|
| 22 |
+
No files have been modified since last commit. Skipping to prevent empty commit.
|
| 23 |
+
copied viewer/clothing/beanie_green_sausage.glb
|
| 24 |
+
|
| 25 |
+
|
| 26 |
+
|
| 27 |
+
|
| 28 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
| 29 |
+
|
| 30 |
+
|
| 31 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
| 32 |
+
|
| 33 |
+
|
| 34 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
| 35 |
+
|
| 36 |
+
|
| 37 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB [A[A
|
| 38 |
+
|
| 39 |
+
|
| 40 |
...othing\kimono_sausage.glb: 100%|##########| 2.38MB / 2.38MB
|
| 41 |
+
No files have been modified since last commit. Skipping to prevent empty commit.
|
| 42 |
+
copied viewer/clothing/kimono_sausage.glb
|
| 43 |
+
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
|
| 47 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
| 48 |
+
|
| 49 |
+
|
| 50 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
| 51 |
+
|
| 52 |
+
|
| 53 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
| 54 |
+
|
| 55 |
+
|
| 56 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB [A[A
|
| 57 |
+
|
| 58 |
+
|
| 59 |
...mono_trousers_sausage.glb: 100%|##########| 2.20MB / 2.20MB
|
| 60 |
+
No files have been modified since last commit. Skipping to prevent empty commit.
|
| 61 |
+
copied viewer/clothing/kimono_trousers_sausage.glb
|
| 62 |
+
|
| 63 |
+
|
| 64 |
+
|
| 65 |
+
|
| 66 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
| 67 |
+
|
| 68 |
+
|
| 69 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
| 70 |
+
|
| 71 |
+
|
| 72 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
| 73 |
+
|
| 74 |
+
|
| 75 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB [A[A
|
| 76 |
+
|
| 77 |
+
|
| 78 |
...nerdy_glasses_sausage.glb: 100%|##########| 246kB / 246kB
|
| 79 |
+
No files have been modified since last commit. Skipping to prevent empty commit.
|
| 80 |
+
copied viewer/clothing/nerdy_glasses_sausage.glb
|
| 81 |
+
|
| 82 |
+
|
| 83 |
+
|
| 84 |
+
|
| 85 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
| 86 |
+
|
| 87 |
+
|
| 88 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
| 89 |
+
|
| 90 |
+
|
| 91 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
| 92 |
+
|
| 93 |
+
|
| 94 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB [A[A
|
| 95 |
+
|
| 96 |
+
|
| 97 |
...ts\citizen_skin_color.png: 100%|##########| 1.26MB / 1.26MB
|
| 98 |
+
No files have been modified since last commit. Skipping to prevent empty commit.
|
| 99 |
+
uploaded viewer/textures/citizen_skin_color.png
|
| 100 |
+
|
| 101 |
+
|
| 102 |
+
|
| 103 |
+
|
| 104 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
| 105 |
+
|
| 106 |
+
|
| 107 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
| 108 |
+
|
| 109 |
+
|
| 110 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
| 111 |
+
|
| 112 |
+
|
| 113 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
| 114 |
+
|
| 115 |
+
|
| 116 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A
|
| 117 |
+
|
| 118 |
+
|
| 119 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB
|
| 120 |
+
No files have been modified since last commit. Skipping to prevent empty commit.
|
| 121 |
+
It seems you are trying to upload a large folder at once. This might take some time and then fail if the folder is too large. For such cases, it is recommended to upload in smaller batches or to use `HfApi().upload_large_folder(...)`/`hf upload-large-folder` instead. For more details, check out https://huggingface.co/docs/huggingface_hub/main/en/guides/upload#upload-a-large-folder.
|
| 122 |
+
uploaded viewer/characters/unirig_citizen.glb
|
| 123 |
+
space created: build-small-hackathon/karate-wiener
|
| 124 |
+
variables + HF_TOKEN secret set
|
| 125 |
+
|
| 126 |
+
|
| 127 |
+
|
| 128 |
+
|
| 129 |
...\right_hand_palm_link.STL: 100%|##########| 2.14MB / 2.14MB [A[A
|
| 130 |
+
|
| 131 |
+
|
| 132 |
+
|
| 133 |
..._kmd_db1d3fe8af7846f5.png: 100%|##########| 146kB / 146kB [A[A[A
|
| 134 |
+
|
| 135 |
+
|
| 136 |
+
|
| 137 |
+
|
| 138 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A[A[A
|
| 139 |
+
|
| 140 |
+
|
| 141 |
+
|
| 142 |
+
|
| 143 |
+
|
| 144 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB [A[A[A[A[A
|
| 145 |
+
|
| 146 |
+
|
| 147 |
+
|
| 148 |
+
|
| 149 |
+
|
| 150 |
+
|
| 151 |
...e\wiener_session_crab.png: 100%|##########| 376kB / 376kB [A[A[A[A[A[A
|
| 152 |
+
|
| 153 |
+
|
| 154 |
+
|
| 155 |
+
|
| 156 |
+
|
| 157 |
+
|
| 158 |
+
|
| 159 |
...pace\comic_klein_test.png: 100%|##########| 2.34MB / 2.34MB [A[A[A[A[A[A[A
|
| 160 |
+
|
| 161 |
+
|
| 162 |
+
|
| 163 |
+
|
| 164 |
+
|
| 165 |
+
|
| 166 |
+
|
| 167 |
+
|
| 168 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB [A[A[A[A[A[A[A[A
|
| 169 |
+
|
| 170 |
+
|
| 171 |
+
|
| 172 |
+
|
| 173 |
+
|
| 174 |
+
|
| 175 |
+
|
| 176 |
+
|
| 177 |
+
|
| 178 |
...g1\torso_link_rev_1_0.STL: 100%|##########| 2.57MB / 2.57MB [A[A[A[A[A[A[A[A[A
|
| 179 |
+
|
| 180 |
+
|
| 181 |
+
|
| 182 |
+
|
| 183 |
+
|
| 184 |
+
|
| 185 |
+
|
| 186 |
+
|
| 187 |
+
|
| 188 |
+
|
| 189 |
...laxed_hands_rest_pose.npy: 100%|##########| 2.90kB / 2.90kB [A[A[A[A[A[A[A[A[A[A
|
| 190 |
+
|
| 191 |
+
|
| 192 |
+
|
| 193 |
+
|
| 194 |
+
|
| 195 |
+
|
| 196 |
+
|
| 197 |
+
|
| 198 |
+
|
| 199 |
+
|
| 200 |
+
|
| 201 |
...rso_constraint_R_link.STL: 100%|##########| 204kB / 204kB [A[A[A[A[A[A[A[A[A[A[A
|
| 202 |
+
|
| 203 |
+
|
| 204 |
...\right_hand_palm_link.STL: 100%|##########| 2.14MB / 2.14MB [A[A
|
| 205 |
+
|
| 206 |
+
|
| 207 |
+
|
| 208 |
..._kmd_db1d3fe8af7846f5.png: 100%|##########| 146kB / 146kB [A[A[A
|
| 209 |
+
|
| 210 |
+
|
| 211 |
+
|
| 212 |
+
|
| 213 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A[A[A
|
| 214 |
+
|
| 215 |
+
|
| 216 |
+
|
| 217 |
+
|
| 218 |
+
|
| 219 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB [A[A[A[A[A
|
| 220 |
+
|
| 221 |
+
|
| 222 |
+
|
| 223 |
+
|
| 224 |
+
|
| 225 |
+
|
| 226 |
...e\wiener_session_crab.png: 100%|##########| 376kB / 376kB [A[A[A[A[A[A
|
| 227 |
+
|
| 228 |
+
|
| 229 |
+
|
| 230 |
+
|
| 231 |
+
|
| 232 |
+
|
| 233 |
+
|
| 234 |
...pace\comic_klein_test.png: 100%|##########| 2.34MB / 2.34MB [A[A[A[A[A[A[A
|
| 235 |
+
|
| 236 |
+
|
| 237 |
+
|
| 238 |
+
|
| 239 |
+
|
| 240 |
+
|
| 241 |
+
|
| 242 |
+
|
| 243 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB [A[A[A[A[A[A[A[A
|
| 244 |
+
|
| 245 |
+
|
| 246 |
+
|
| 247 |
+
|
| 248 |
+
|
| 249 |
+
|
| 250 |
+
|
| 251 |
+
|
| 252 |
+
|
| 253 |
...g1\torso_link_rev_1_0.STL: 100%|##########| 2.57MB / 2.57MB [A[A[A[A[A[A[A[A[A
|
| 254 |
+
|
| 255 |
+
|
| 256 |
+
|
| 257 |
+
|
| 258 |
+
|
| 259 |
+
|
| 260 |
+
|
| 261 |
+
|
| 262 |
+
|
| 263 |
+
|
| 264 |
...laxed_hands_rest_pose.npy: 100%|##########| 2.90kB / 2.90kB [A[A[A[A[A[A[A[A[A[A
|
| 265 |
+
|
| 266 |
+
|
| 267 |
+
|
| 268 |
+
|
| 269 |
+
|
| 270 |
+
|
| 271 |
+
|
| 272 |
+
|
| 273 |
+
|
| 274 |
+
|
| 275 |
+
|
| 276 |
[+ 75 files] : 100%|##########| 76.3MB / 76.3MB [A[A[A[A[A[A[A[A[A[A[A
|
| 277 |
+
|
| 278 |
+
|
| 279 |
...ft_shoulder_roll_link.STL: 100%|##########| 400kB / 400kB [A[A
|
| 280 |
+
|
| 281 |
+
|
| 282 |
+
|
| 283 |
...ght_shoulder_yaw_link.STL: 100%|##########| 250kB / 250kB [A[A[A
|
| 284 |
+
|
| 285 |
+
|
| 286 |
+
|
| 287 |
+
|
| 288 |
...ght_hand_index_1_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A
|
| 289 |
+
|
| 290 |
+
|
| 291 |
+
|
| 292 |
+
|
| 293 |
+
|
| 294 |
...mic_base_vs_distilled.png: 100%|##########| 4.80MB / 4.80MB [A[A[A[A[A
|
| 295 |
+
|
| 296 |
+
|
| 297 |
+
|
| 298 |
+
|
| 299 |
+
|
| 300 |
+
|
| 301 |
...\g1\left_hip_yaw_link.STL: 100%|##########| 296kB / 296kB [A[A[A[A[A[A
|
| 302 |
+
|
| 303 |
+
|
| 304 |
+
|
| 305 |
+
|
| 306 |
+
|
| 307 |
+
|
| 308 |
+
|
| 309 |
...ht_hand_middle_1_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A[A[A[A
|
| 310 |
+
|
| 311 |
+
|
| 312 |
+
|
| 313 |
+
|
| 314 |
+
|
| 315 |
+
|
| 316 |
+
|
| 317 |
+
|
| 318 |
...choreo_stances_verify.png: 100%|##########| 150kB / 150kB [A[A[A[A[A[A[A[A
|
| 319 |
+
|
| 320 |
+
|
| 321 |
+
|
| 322 |
+
|
| 323 |
+
|
| 324 |
+
|
| 325 |
+
|
| 326 |
+
|
| 327 |
+
|
| 328 |
...eft_shoulder_yaw_link.STL: 100%|##########| 249kB / 249kB [A[A[A[A[A[A[A[A[A
|
| 329 |
+
|
| 330 |
+
|
| 331 |
+
|
| 332 |
+
|
| 333 |
+
|
| 334 |
+
|
| 335 |
+
|
| 336 |
+
|
| 337 |
+
|
| 338 |
+
|
| 339 |
...right_ankle_roll_link.STL: 100%|##########| 654kB / 654kB [A[A[A[A[A[A[A[A[A[A
|
| 340 |
+
|
| 341 |
+
|
| 342 |
+
|
| 343 |
+
|
| 344 |
+
|
| 345 |
+
|
| 346 |
+
|
| 347 |
+
|
| 348 |
+
|
| 349 |
+
|
| 350 |
+
|
| 351 |
[+ 75 files] : 100%|##########| 76.4MB / 76.4MB [A[A[A[A[A[A[A[A[A[A[A
|
| 352 |
+
|
| 353 |
+
|
| 354 |
...ace\wiener_proto_card.png: 100%|##########| 466kB / 466kB [A[A
|
| 355 |
+
|
| 356 |
+
|
| 357 |
+
|
| 358 |
...-space\box_klein_test.png: 100%|##########| 660kB / 660kB [A[A[A
|
| 359 |
+
|
| 360 |
+
|
| 361 |
+
|
| 362 |
+
|
| 363 |
...keletons\smplx22\beta.npy: 100%|##########| 1.33kB / 1.33kB [A[A[A[A
|
| 364 |
+
|
| 365 |
+
|
| 366 |
+
|
| 367 |
+
|
| 368 |
+
|
| 369 |
...space\comic_lora_test.png: 100%|##########| 3.16MB / 3.16MB [A[A[A[A[A
|
| 370 |
+
|
| 371 |
+
|
| 372 |
+
|
| 373 |
+
|
| 374 |
+
|
| 375 |
+
|
| 376 |
...assets\default_scene.webp: 100%|##########| 231kB / 231kB [A[A[A[A[A[A
|
| 377 |
+
|
| 378 |
+
|
| 379 |
+
|
| 380 |
+
|
| 381 |
+
|
| 382 |
+
|
| 383 |
+
|
| 384 |
...eft_hand_index_1_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A[A[A[A
|
| 385 |
+
|
| 386 |
+
|
| 387 |
+
|
| 388 |
+
|
| 389 |
+
|
| 390 |
+
|
| 391 |
+
|
| 392 |
+
|
| 393 |
...ata_reference_stances.png: 100%|##########| 228kB / 228kB [A[A[A[A[A[A[A[A
|
| 394 |
+
|
| 395 |
+
|
| 396 |
+
|
| 397 |
+
|
| 398 |
+
|
| 399 |
+
|
| 400 |
+
|
| 401 |
+
|
| 402 |
+
|
| 403 |
...\left_wrist_roll_link.STL: 100%|##########| 356kB / 356kB [A[A[A[A[A[A[A[A[A
|
| 404 |
+
|
| 405 |
+
|
| 406 |
+
|
| 407 |
+
|
| 408 |
+
|
| 409 |
+
|
| 410 |
+
|
| 411 |
+
|
| 412 |
+
|
| 413 |
+
|
| 414 |
...1\left_wrist_yaw_link.STL: 100%|##########| 319kB / 319kB [A[A[A[A[A[A[A[A[A[A
|
| 415 |
+
|
| 416 |
+
|
| 417 |
+
|
| 418 |
+
|
| 419 |
+
|
| 420 |
+
|
| 421 |
+
|
| 422 |
+
|
| 423 |
+
|
| 424 |
+
|
| 425 |
+
|
| 426 |
[+ 75 files] : 100%|##########| 79.3MB / 79.3MB [A[A[A[A[A[A[A[A[A[A[A
|
| 427 |
+
|
| 428 |
+
|
| 429 |
...rist_roll_rubber_hand.STL: 100%|##########| 3.48MB / 3.48MB [A[A
|
| 430 |
+
|
| 431 |
+
|
| 432 |
+
|
| 433 |
...t_shoulder_pitch_link.STL: 100%|##########| 177kB / 177kB [A[A[A
|
| 434 |
+
|
| 435 |
+
|
| 436 |
+
|
| 437 |
+
|
| 438 |
...ft_hand_middle_0_link.STL: 100%|##########| 476kB / 476kB [A[A[A[A
|
| 439 |
+
|
| 440 |
+
|
| 441 |
+
|
| 442 |
+
|
| 443 |
+
|
| 444 |
...assets\unirig_citizen.glb: 100%|##########| 115kB / 115kB [A[A[A[A[A
|
| 445 |
+
|
| 446 |
+
|
| 447 |
+
|
| 448 |
+
|
| 449 |
+
|
| 450 |
+
|
| 451 |
...t_shoulder_pitch_link.STL: 100%|##########| 177kB / 177kB [A[A[A[A[A[A
|
| 452 |
+
|
| 453 |
+
|
| 454 |
+
|
| 455 |
+
|
| 456 |
+
|
| 457 |
+
|
| 458 |
+
|
| 459 |
...g1\waist_constraint_L.STL: 100%|##########| 115kB / 115kB [A[A[A[A[A[A[A
|
| 460 |
+
|
| 461 |
+
|
| 462 |
+
|
| 463 |
+
|
| 464 |
+
|
| 465 |
+
|
| 466 |
+
|
| 467 |
+
|
| 468 |
...ght_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A[A[A[A[A[A
|
| 469 |
+
|
| 470 |
+
|
| 471 |
+
|
| 472 |
+
|
| 473 |
+
|
| 474 |
+
|
| 475 |
+
|
| 476 |
+
|
| 477 |
+
|
| 478 |
...eft_hand_thumb_1_link.STL: 100%|##########| 476kB / 476kB [A[A[A[A[A[A[A[A[A
|
| 479 |
+
|
| 480 |
+
|
| 481 |
+
|
| 482 |
+
|
| 483 |
+
|
| 484 |
+
|
| 485 |
+
|
| 486 |
+
|
| 487 |
+
|
| 488 |
+
|
| 489 |
...ft_shoulder_roll_link.STL: 100%|##########| 400kB / 400kB [A[A[A[A[A[A[A[A[A[A
|
| 490 |
+
|
| 491 |
+
|
| 492 |
+
|
| 493 |
+
|
| 494 |
+
|
| 495 |
+
|
| 496 |
+
|
| 497 |
+
|
| 498 |
+
|
| 499 |
+
|
| 500 |
+
|
| 501 |
[+ 75 files] : 100%|##########| 79.3MB / 79.3MB [A[A[A[A[A[A[A[A[A[A[A
|
| 502 |
+
|
| 503 |
+
|
| 504 |
...mic_base_vs_distilled.png: 100%|##########| 4.80MB / 4.80MB [A[A
|
| 505 |
+
|
| 506 |
+
|
| 507 |
+
|
| 508 |
...eft_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB [A[A[A
|
| 509 |
+
|
| 510 |
+
|
| 511 |
+
|
| 512 |
+
|
| 513 |
...ata_reference_stances.png: 100%|##########| 228kB / 228kB [A[A[A[A
|
| 514 |
+
|
| 515 |
+
|
| 516 |
+
|
| 517 |
+
|
| 518 |
+
|
| 519 |
...s\g1\left_rubber_hand.STL: 100%|##########| 2.29MB / 2.29MB [A[A[A[A[A
|
| 520 |
+
|
| 521 |
+
|
| 522 |
+
|
| 523 |
+
|
| 524 |
+
|
| 525 |
+
|
| 526 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB [A[A[A[A[A[A
|
| 527 |
+
|
| 528 |
+
|
| 529 |
+
|
| 530 |
+
|
| 531 |
+
|
| 532 |
+
|
| 533 |
+
|
| 534 |
...1\left_wrist_yaw_link.STL: 100%|##########| 319kB / 319kB [A[A[A[A[A[A[A
|
| 535 |
+
|
| 536 |
+
|
| 537 |
+
|
| 538 |
+
|
| 539 |
+
|
| 540 |
+
|
| 541 |
+
|
| 542 |
+
|
| 543 |
...el34\meshes\g1\pelvis.STL: 100%|##########| 1.06MB / 1.06MB [A[A[A[A[A[A[A[A
|
| 544 |
+
|
| 545 |
+
|
| 546 |
+
|
| 547 |
+
|
| 548 |
+
|
| 549 |
+
|
| 550 |
+
|
| 551 |
+
|
| 552 |
+
|
| 553 |
...ht_hand_middle_0_link.STL: 100%|##########| 476kB / 476kB [A[A[A[A[A[A[A[A[A
|
| 554 |
+
|
| 555 |
+
|
| 556 |
+
|
| 557 |
+
|
| 558 |
+
|
| 559 |
+
|
| 560 |
+
|
| 561 |
+
|
| 562 |
+
|
| 563 |
+
|
| 564 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB [A[A[A[A[A[A[A[A[A[A
|
| 565 |
+
|
| 566 |
+
|
| 567 |
+
|
| 568 |
+
|
| 569 |
+
|
| 570 |
+
|
| 571 |
+
|
| 572 |
+
|
| 573 |
+
|
| 574 |
+
|
| 575 |
+
|
| 576 |
[+ 75 files] : 100%|##########| 73.3MB / 73.3MB [A[A[A[A[A[A[A[A[A[A[A
|
| 577 |
+
|
| 578 |
+
|
| 579 |
...mic_base_vs_distilled.png: 100%|##########| 4.80MB / 4.80MB
|
| 580 |
+
|
| 581 |
...eft_hand_thumb_2_link.STL: 100%|##########| 1.52MB / 1.52MB
|
| 582 |
+
|
| 583 |
...ata_reference_stances.png: 100%|##########| 228kB / 228kB
|
| 584 |
+
|
| 585 |
...s\g1\left_rubber_hand.STL: 100%|##########| 2.29MB / 2.29MB
|
| 586 |
+
|
| 587 |
...ce\built_moves_verify.png: 100%|##########| 146kB / 146kB
|
| 588 |
+
|
| 589 |
...1\left_wrist_yaw_link.STL: 100%|##########| 319kB / 319kB
|
| 590 |
+
|
| 591 |
...el34\meshes\g1\pelvis.STL: 100%|##########| 1.06MB / 1.06MB
|
| 592 |
+
|
| 593 |
...ht_hand_middle_0_link.STL: 100%|##########| 476kB / 476kB
|
| 594 |
+
|
| 595 |
...ce\weiner_raw_contact.png: 100%|##########| 2.13MB / 2.13MB
|
| 596 |
+
|
| 597 |
[+ 75 files] : 100%|##########| 73.3MB / 73.3MB
|