User-facing progress for Rescript. Items are marked done when they shipped to
main (web and/or desktop). Internal refactors and CI-only work are omitted.
- Offline transcript-based editor in the browser (no auth, no uploads)
- Upload → local Whisper transcription with per-word timestamps
- Speaker diarization (pyannote) with speaker-grouped transcript
- Cut / restore by selecting words (⌫, floating toolbar); undo / redo
- Live preview that skips cut ranges in real time
- Timeline with waveform, ruler, word labels, cut regions, playhead, and zoom
- In-browser export to MP4 (ffmpeg.wasm, word-accurate cuts)
- Continuous selection highlight and Descript-style timeline word pills
- Cache-aware model loading labels; speaker model preloaded during transcription
- Monotonic download / transcription progress
- Correct misrecognized words (selection → Correct popover; timings redistributed)
- One-click Remove fillers (um / uh / etc.)
- One-click Remove silences (pauses / dead air ≥ 0.3s)
- Import your own transcript (SRT / VTT / JSON) instead of running Whisper
- Import cancel UX (no stuck selector / blocked media drop)
- Manual speaker controls (rename, change, add, move label, merge, remove)
- Whisper Base and Whisper Small selectable on upload
- Silence skip (VAD) and hallucination mitigations for longer files
- Multi-speaker clips no longer drop the second speaker after silence-skip
- Smoother transcription progress across Whisper windows
- Better word↔audio alignment (speech-onset anchoring / lag correction)
- Multilingual transcription (language selector; English + German, with DE fillers)
- WebGPU → WASM fallback when the GPU is lost (e.g. Windows screen lock)
- Graceful handling of media with no audio track
- Edit audio files (mp3 / wav / m4a / …) the same way as video
- Audio-only workspace (hide empty video preview; transcript gets full width)
- Audio export (M4A and additional formats via the export dialog)
- Drag word start / end to fix ASR bleed
- Split at playhead (
S/ Split) into selectable clips - Clip trim handles (manual cuts; covered words marked cut in the transcript)
- Draggable cut edges; scrub while dragging; double-click to reset
- Scroll to zoom / side-scroll to pan
- Timeline ↔ transcript selection sync; splits reflected in the transcript
- Word chips visible at all zoom levels
- Waveform peak clamping on the timeline
- Mobile-friendly stacked editor layout
- Upload screen scrollable on short / mobile viewports
- Resizable transcript / preview split on desktop (persisted)
- Transcript scroll rail with tick marks and edge fades
- Light / Dark appearance in Settings (persisted; default light)
- Settings menu (appearance + community / support links)
- Social links (Discord, X, GitHub)
- Mobile menus stay on-screen (Floating UI flip / shift)
- Smoother transcript text selection while dragging
- Spacebar play / pause reliability and media-control polish
- Auto-save projects to IndexedDB
- Recent projects list on the home screen (open / delete)
- Tabbed export dialog: Video, Audio, Transcript, Subtitles
- Video: format (MP4 / WebM) and resolution options
- Audio: M4A / MP3 / WAV (including from video projects)
- Transcript: plain text or Markdown (speaker turns, cuts removed)
- Subtitles: SRT / VTT (edited timeline) or JSON (full words for re-import)
- Live web app on GitHub Pages
- Electron desktop app for macOS, Windows, and Linux
- Signed / notarized Mac builds; auto-update from GitHub Releases
- Desktop chrome polish (traffic lights, window sizing, animated logo / top bar)
- Parakeet TDT v3 as an optional transcription backend (faster / more accurate word timings)
- Fix remaining drift / lag and push word timestamps closer to true speech boundaries
- In-app transcript editor (richer inline editing beyond the Correct popover)
- Export the timeline itself to video editing tools (e.g. project / EDL / FCPXML-style interchange)
- Regenerate — text-to-speech with accurate voice cloning so rewritten lines can be spoken in the original voice
- Native macOS SpeechAnalyzer as an optional transcription backend
- More languages beyond English / German; local model import for air-gapped first runs
- Faster export (stream-copy for keyframe-aligned segments, WebCodecs rendering)
- Multi-clip projects (reorder scenes), captions burn-in
- Gap clips / insert silence between words