Spaces:
Running on Zero
Running on Zero
Commit History
-
feat(ui): in-card determinate progress bar via gr.Timer (Option T)
Unverified signatureThe native gr.Progress bar does not render in this loading-card layout (smoke-test: the sink fires every clip but Gradio's status-tracker stays empty), so drive the card's OWN HTML instead. The encode sink writes per-clip counters into a module-global state dict; a gr.Timer(0.3) reads it and re-renders the loading card with a determinate amber bar + live "clip k/N · window p/P" label. Live-verified: the Timer ticks in parallel with the concurrency_limit=1 Score (per-concurrency-id queue) — card showed "Encoding video · clip 4/30" at 13% advancing per clip; after the Score the card hides, no stuck bar, timeline + summary render cleanly (Timer -> gr.skip when idle). - progress.py: rewrite to a dict-based live state (begin/sink/snapshot/end + encode_frac); the 0.3s Timer is the throttle (no separate per-clip throttle). - ui.py: loading_card_html renderer + addressable loading_body gr.HTML. - theme.py: .co-prog-track/fill/pct amber bar styles (drop dead native CSS). - app.py: gr.Timer …03fb6f3 -
feat(ui): determinate per-clip encode progress bar (Option X)
Unverified signatureReplace the indeterminate "Scoring…" loader with a real determinate bar that advances one tick per V-JEPA2 clip across a monotonic 0.15→0.70 band, with a live "clip k/N · window p/P" label. Drives Gradio's native gr.Progress (CSS-themed amber); the custom card is kept as a themed header. - progress.py: pure encode_frac + make_clip_sink — P-window monotonic mapping (no reset between windows; degrades to a single sweep when P=1), ~0.4s throttle (final clip of each window always emits), injectable clock for tests. - fast_encode.py: module-global progress sink + per-clip _emit_progress (best-effort, never raises into the encode; no-op when unset). - app.py: register the sink LOCAL-only (video & not on_spaces), clear in a finally; P = len(plan_windows(dur)). The Space keeps the coarse stage progress — its forked GPU worker can't see a parent-set sink. - ui.py / theme.py: drop the fake indeterminate co-loading-bar; theme the native progress widget to the amber accent. - tests/te…ef94760