Spaces:
Runtime error
Runtime error
Commit History
-
fix: sync frontend API types
Verified signaturec410e76 -
feat: add normal mode demo clips
Verified signatured5b9234 -
feat: add interactive HF demo clips
Verified signaturededaa09 -
fix: keep faces centered in HRE crops
Verified signatureeb1790e -
fix: trigger direct clip downloads
Verified signatured95b7e9 -
fix: keep people visible in HRE clips
Verified signature65a5f35
-
fix: include Next static assets in space image
Verified signature936060a -
fix: add per-segment HRE edit plans
Verified signaturec511df7 -
Deploy safe hackathon demo with proxy
JakgritBe72b932 -
Deploy safe hackathon demo
JakgritB102f4d2
-
feat(editor): subtitle-first editor + AI subtitle pipeline
JakgritB +1: Claude Opus 4.7Pivot the editor away from drag-trim and toward full subtitle control, because subtitle is the differentiator for short-form creators and the multimodal-AI pipeline behind subtitles is what Track 3 actually scores. Backend (multimodal AI surface): - schemas.py adds SubtitleCue + SkipRange models. ClipCandidate + ClipPatch get optional subtitle_cues and skip_ranges fields. Older clients keep working — fall back to subtitle_text auto-distribution when subtitle_cues is absent. - subtitles.write_srt_from_cues() honors per-cue timing supplied by the user instead of auto-spacing. - clips.py renders with ffmpeg concat filter when skip_ranges is present, splicing out the requested middle ranges and concatenating the keep-segments. - highlight.QwenHighlightDetector grows polish_subtitles() and translate_subtitles() — Qwen2.5 in production, deterministic heuristic in demo so the UI flow works today. - transcription.WhisperTranscriber grows align_words() — Whisper word-level ti…89e1dc4
-
fix(editor): real-time drag via draft state + range-locked playback
JakgritB +1: Claude Opus 4.7The previous editor fired an API patch on every mousemove during V1 trim/move and caption drag. The result was UI flicker, race conditions, and the impression that the editor "didn't work." Real-time editing now works through a clean two-state model: - trimDraft: { start_seconds, end_seconds } | null - captionDraft: { x, y } | null - Effective values (effStart/effEnd/effCaptionStyle) prefer drafts when present, fall back to committed clip/captionStyle. Drag flow: - mousedown captures initial state and registers window mousemove/mouseup. - mousemove → setTrimDraft (or setCaptionDraft) — local React state only, no network. Sub-millisecond updates with no thrashing. - mouseup → onTrimCommit (or onCaptionCommit) fires exactly one onPatch (or one onCaptionStyleChange), then clears the draft. Video playback is now range-locked: - On clip change: video.load() + seek to clip.start_seconds. - timeupdate listener: pauses + rewinds to effStart when currentTime reaches effEnd - 0.05; a…6f3ea5d -
fix(editor): kill empty band + first-frame preview + polish
JakgritB +1: Claude Opus 4.7Layout repair: - Empty band above the editor topbar was caused by .editor-topbar being position:sticky;top:72px while inside .editor-shell.nle (overflow:hidden, no scroll context). The 72px offset rendered as a 72px gap. Override to position:relative;top:auto in NLE mode. - Compact AppHeader (56px) when in editor view; hide subtitle line. Reclaim ~50px of vertical real estate for the timeline. Preview stability: - Add playsInline + preload=metadata + muted to the preview <video>. - video.load() + currentTime=0.05 on clip change forces the first frame to render so the canvas isn't blank before user interaction. Trim handles: - Widen drag handles from 10px to 14px and bump z-index to 4. - Switch to amber/black for higher contrast against the indigo clip. - Hover scales the handle 1.06x for clearer affordance. AI Assistant copy: - Subtitles were redundant ("ทำใหม่" / "—"). Replace with platform- specific guidance ("Best for Reels & Shorts", "Best for TikTok storytelling")…6af4843 -
feat(frontend): rewrite editor as Premiere-style NLE + fix card overflow
JakgritB +1: Claude Opus 4.7Replace the two-column editor with a 4-panel NLE shell that frames the AI as if it were operating Premiere Pro on the user's behalf: - Media Bin (left): all clips in the job, click to switch the editor target - Preview Stage (center top): video + draggable caption overlay positionable anywhere on the canvas via drag (captionStyle.x/y) - Timeline (center bottom): ruler with playhead, V1 with drag-to-trim edge handles + drag-to-move body, T1 caption blocks (clickable to select), A1 deterministic faux-waveform - AI Assistant (right top): clip.reason as the AI's explanation + quick actions (regenerate, tighten to 30s, fit to 60s, delete) - Inspector (right bottom): score/status/source/model + active cue textarea + caption style controls Dashboard fix: split .clip-actions into a primary CTA row + flex-wrap icon row so action buttons no longer overflow the card on narrow grids. .clip-grid bumped to minmax(280px, 1fr). NLE translation keys added across all 5 languages (en/th/ja/z…f9d069e -
feat(i18n): polish JA/ZH/KO translations for natural phrasing
JakgritB +1: Claude Opus 4.7Replace stilted machine-style phrasings across Japanese, Chinese, and Korean with idiomatic equivalents native speakers would actually use. Examples: "ダッシュボードへ戻る" -> "ホームに戻る", "返回仪表盘" -> "返回主界面", "검사 패널" -> "상세 정보", trim labels normalized to en-dash minus signs, and various awkward terms simplified. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>76e8eb8
-
feat(frontend): full UI redesign + fix editor navigation bug
JakgritB +1: Claude Sonnet 4.6Design: - Dark-first design system with indigo primary, amber score badges - fadeInUp animation on cards, shimmer on progress bar - Hover effects: clip cards lift + scale, buttons brighten/shrink on active - Explicit transitions (150-200ms) on all interactive elements - Sidebar layout (320px fixed) + scrollable main column - Editor page: sticky topbar + 60/40 video/controls split Bug fix: - Replace editorClip-derived routing with explicit view state (view: 'dashboard' | 'editor') — eliminates race condition that prevented editor from opening - Remove problematic useEffect that reset editorClipId Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>fb5014d
-
feat(frontend): redesign editor workspace controls
JakgritBc481310 -
fix(frontend): polish locale controls and editor layout
JakgritBf585352 -
fix(frontend): complete locale dictionaries
JakgritBFill Thai, Japanese, Chinese, and Korean UI translations for all frontend labels and localize primary-language option labels to avoid mixed-language screens.caa2f69 -
feat(frontend): redesign product demo workspace
JakgritBAdd a polished responsive dashboard, light/dark mode, multilingual UI, richer profile controls, clip count selection, improved clip cards, and a full clip editor view.461d333 -
fix(frontend): import React for JSX runtime
JakgritBPrevent the Vite dev app from rendering a blank page by ensuring React is available in App.jsx when JSX is transformed.a05a82e -
feat(frontend): add human-ai clip editor
JakgritBAdd the React and Tailwind workspace for channel onboarding, YouTube/upload input, pipeline progress, transcript review, clip trimming, subtitle editing, approval, regeneration, and download actions.09e2e7a