Push selected-source changes from Electron to the launch window instead of polling every 500ms, reducing constant renderer and IPC churn. Also restore the TimelineEditor audio path narrowing fix so the current tree stays type-safe.
Enumerate cameras and microphones before requesting media permissions, only opening a stream once when labels need to be unlocked. Stop rerunning enumeration when the selected device changes so launch controls no longer churn hardware access on routine UI interaction.
Replace JSON-based snapshot cloning and equality checks with structured object comparisons in the video editor. Reuse memoized persisted project state for dirty tracking and saves so normal editor interactions stop rebuilding large serialized snapshots on every change.
Add minimal, dot, and inverted cursor styles for preview and export rendering, including the bundled minimal cursor asset and runtime cursor asset generation.
Add translation strings for the new caption, cursor, and zoom controls and include the indeterminate progress styling used by long-running caption and export actions.
Connect caption generation, Whisper model download state, caption persistence, export saving progress, and preview/export caption props through the main video editor workflow.
Add canvas caption rendering during frame export, carry caption settings through GIF and MP4 export paths, and clean up muxer resources while exposing the saving phase in export progress.
Introduce the timed caption block layout engine used by preview and export rendering, including line breaking, page building, animation state, width-relative scaling, and merged-cue spacing fixes.
Define caption cue/settings models, cursor style options, caption font defaults, and updated editor defaults such as the 17.5px caption radius and cursor motion blur tuning.
Persist the new caption, cursor, and zoom timing controls in editor preferences and project files. Normalize those saved values so older projects continue loading with stable defaults.
Add Electron IPC handlers and preload wiring for Whisper caption generation, small-model download management, and safer project media source resolution. Update native macOS capture helpers to mux separate system and microphone audio outputs before finalizing recordings.