Skip to content

Releases: JeremySNR/cutawan

v0.11.4

Choose a tag to compare

@github-actions github-actions released this 21 Sep 19:54
f0fcc52

Fixed

  • Repair rejected screen/presenter source bounds instead of immediately preserving a letterbox. Supply specific geometric feedback and cap source proposals at two per shot; keep existing quality thresholds.
  • Ask for a single contiguous presenter panel rather than combining disconnected webcam overlays.
  • Add per-clip Retry automatic layout for failed automatic results. Preserve manual corrections, join retries before export, and protect successful retries against stale saves and concurrent trim changes.

Validation and limits

  • Repaired and inspected the reported comparison-slide case. The two-webcam email demo still fails content selection; it is explicitly unresolved. See docs/rejected-layout-repair.md for all seven requests, failed trials, timings and remaining work.

v0.11.3

Choose a tag to compare

@github-actions github-actions released this 21 Sep 18:47
141e464

Improved

  • Detect large screen transitions before composing individual shots, avoiding a failed whole-clip layout attempt first.
  • Scan content crop edges locally between ordinary review samples. Reused crops request fresh bounds on an alert; fresh proposals add suspect moments to rendered review so incidental editing guides do not force an unnecessary full-frame fallback.
  • Use rejected temporal review frames in one bounded region proposal. Keep decoding, image counts, cancellation and scan duration bounded.

Validation

  • 515 tests plus type checking, lint and build. Tested local scan timing and a targeted repair on the original T3.GG recording. Documented the initial false alarm, revised result, timings and remaining limitations in docs/temporal-layout-validation.md. Moving panels, faster events and arbitrary-video quality remain unfinished.

v0.11.2

Choose a tag to compare

@github-actions github-actions released this 21 Sep 18:13
bd6b88f

Improved

  • Let independent layout reviews overlap without occupying local decoding/inference slots while waiting for cloud responses. Bound analysis requests across API and ChatGPT providers separately from local processing.
  • Reuse checked screen compositions from the same source as proposals for recurring layouts. Every candidate requires fresh rendered verification; rejected candidates fall back to ordinary analysis.
  • Veto reused crops when sampled local pixels indicate a feature cut at the content boundary. Label comparison panels explicitly to reduce confusion between source references and the actual output.

Validation

  • Tested recurring and changing graph content plus three rearranged presenter-corner variants from the original T3.GG footage. A moving-title failure found by inspection drove the edge guard. Measurements, failed trials and remaining limitations are recorded in docs/layout-reuse-validation.md; arbitrary-video quality is not established.

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 21 Sep 17:20
52df469

Fixed

  • Allow up to two independent ChatGPT analysis requests at once on machines with at least 8 GiB RAM; keep daily-budget reservations serialized, ledger writes atomic, and identical requests deduplicated.
  • Screen recordings now choose content and presenter regions during the existing visual review and skip dense active-speaker inference. Camera and mixed footage retain speaker tracking. Proposed panels still require rendered verification.
  • Changing screen layouts use a low-resolution local scene-change pass and per-section narration. Brief app/dialog transitions stay intact instead of triggering repeated AI requests and flickering crops.
  • Enlarge the content area in presenter layouts, with containment margins around automatically proposed content. Avoid treating unrelated application sidebars as essential content.
  • Save each completed clip layout immediately. A later cancellation or failed request keeps those results, and later pipeline saves preserve concurrent framing and manual-region edits.
  • Automatically revisit older generated letterbox results when opened or exported, without replacing accepted compositions, custom crops or manual source corrections. Preserve the upgrade when an ordinary edit saves during analysis.

Validation

  • Exercised the automatic path on the original T3.GG recording, including a graph, calculator, posts and a graph-to-dashboard change. Recorded timings and remaining limits in docs/layout-first-validation.md; these are bounded examples, not a guarantee for arbitrary footage or every machine.

v0.11.0

v0.11.0 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Sep 20:43
94adee2

Added

  • Compose a separate presenter inset and screen content into a 9:16 clip, regardless of the inset's source corner. Choose content-first, stacked or content-only layouts, or enter source regions manually without an AI connection.
  • Review automatic compositions using actual rendered sample frames, with one alternate layout attempt. Reject invalid regions, excessive presenter enlargement and insufficient content enlargement; uncertain results keep the full scene and show a review notice.
  • Keep preview and export on the same crop geometry and one video/audio clock. Reserve space for captions and hide hook titles that would cover the presenter.

Improved

  • Bound concurrent face-analysis, composition and export jobs across projects according to available memory and CPU capacity. Limit FFmpeg threads and prioritize queued exports.
  • Spill large face-crop collections to temporary files while retaining the speaker model's temporal context. Stop decoders and clean up temporary crops on cancellation or consumer failure.
  • Validate export dimensions, duration, audio presence and complete decoding before replacing an existing output file, including downscaled size-limited encodes.
  • Evaluate small insets using native-resolution crops, including 4K sources. Region edits at the trim end retain the other shots.
  • Preserve manual source-region corrections when background analysis finishes. If a longer trim exceeds their coverage, keep the full scene and show a review notice instead of reverting to a portrait crop. Refresh paused composition previews when decoded frames arrive.

Validation and limitations

  • 484 automated tests, type checking, lint and production build pass locally. Real FFmpeg tests cover all four inset corners, timed layout switching, single audio output and failed-export preservation. Native Electron checks cover paused preview, manual creation, layout changes, saved corrections, playback, seeking and resizing.
  • AI decisions are mocked in automated tests; sampled model review does not certify every frame or editorial quality. Moving/resizing insets, broad category benchmarks and audience-retention improvements remain unproven. Existing completed clips are not automatically reanalysed.
  • See implementation status and remaining work. The broader adaptive-clipping roadmap remains in progress.

v0.10.3

Choose a tag to compare

@github-actions github-actions released this 20 Sep 18:37
1d03f14

Fixed

  • Isolate native face and speaker inference in a child process, and process speaker-model inputs in bounded batches to reduce Mac memory spikes and keep native inference failures from closing the editor.
  • Bundle an Apple Silicon native ffprobe and fix audio channel-layout negotiation during Mac exports.
  • Prevent update restarts while saves, imports, analysis or exports are active, and show installation failures with a retryable action.

Improved

  • Check for updates on launch and every six hours, with retries after failed checks or reconnection. The toolbar opens Updates directly and shows download progress and readiness.
  • Download and SHA-256 verify the correct Mac installer inside the app, with cancel, retry, cached-download recovery and an Open installer action. Mac releases remain unsigned: quit Cutawan and replace the app in Applications to finish; saved projects and settings remain separate.
  • Keep update download state in the main process so closing and reopening the window does not lose progress. Windows/Linux installation requires an explicit restart.
  • Build and verify all platform installers and update manifests before publishing a release. Verify uploaded installer checksums before making the draft public.

Validation and requirements

  • Unit tests, type checking, lint, packaged Mac inference/export checks and update UI checks passed locally. A real GitHub Mac installer download passed size and checksum verification.
  • A full 86-second speaker-analysis segment completed in the isolated worker with a measured peak of approximately 272 MB.
  • Mac builds target Apple Silicon and are not Developer ID signed or notarized. Windows/Linux installer replacement still requires an actual old-to-new upgrade test; library lifecycle tests do not replace that validation.

0.10.2

Choose a tag to compare

@github-actions github-actions released this 19 Sep 20:11

Fixed

  • Detect the Codex CLI in the standalone install location on macOS/Linux even when the desktop app does not inherit the terminal's PATH; show an actionable path hint if it still cannot be launched.
  • Preserve the first-run setup choice across refreshes and check saved local Whisper files so an existing installation is shown as ready instead of appearing to need another download.

0.10.1

Choose a tag to compare

@github-actions github-actions released this 19 Sep 19:50

Fixed

  • Give the first-run wizard a fully opaque backdrop and a solid, bordered panel so setup options remain readable over the app, including on macOS with window vibrancy enabled.

0.10.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 19:37

Added

  • A first-run setup wizard for ChatGPT sign-in through Codex, an OpenAI-compatible API, or local-only full-video captions. Existing installations keep their settings and skip onboarding.
  • In-app local Whisper setup: after Python 3.10+ is installed, Cutawan creates a private environment, installs faster-whisper, and downloads a Small or Large v3 model on request. Setup can be cancelled, retried, and checked without making an AI request.
  • Optional local Whisper transcription alongside API-based clip analysis, so API users can keep speech recognition on their computer.

Changed

  • Full-video captions can now be transcribed and exported without an API key when local Whisper is configured. AI clip finding still requires ChatGPT/Codex or an API connection.
  • Onboarding explains that Claude subscriptions are not connected to third-party apps through a personal login; Cutawan does not route automated requests against Claude subscription limits.

Validation and requirements

  • 440 tests, typecheck, lint, and the production build passed during release preparation. Project saves now replace JSON atomically, so background readers cannot encounter a half-written file.
  • Local Whisper setup requires a separately installed Python 3.10+ and a model download from Hugging Face. The ChatGPT route additionally requires an installed Codex CLI signed in with ChatGPT. The model download itself was not exercised in the test environment.

0.9.0

Choose a tag to compare

@github-actions github-actions released this 19 Sep 14:28
fd7991b

Improved

  • Preserve speech endings and visual demonstration payoffs, and recover omitted speech at long-video transcription joins.
  • Improve small-face detection and speaker framing, with conservative layouts when tracking evidence is weak.
  • Add shot-specific framing and enlarged screen-detail layouts with consistent preview/export timing.
  • Reject incomplete or incoherent clip candidates based on retained content.
  • Fix composition analysis for still frames and rotated video.

Added

  • Optional ChatGPT subscription via Codex (beta) for analysis, with local Whisper transcription. Requires an installed, signed-in Codex CLI, Python with faster-whisper, and a downloaded speech model; see setup instructions.
  • Luna with low reasoning as the subscription default, cached analysis, configurable daily request limits, and no automatic paid-API fallback.

Validation and known limitations

  • 430 tests and CI checks pass. The resumed public-corpus run produced 23 exports; packaged Windows export and copied-project compatibility checks passed.
  • Existing projects remain usable. Saved transcripts and completed framing are not automatically regenerated.
  • Some slides remain too small, moving speakers can reach crop edges, repeated selections and caption errors remain possible. Review clips before publishing. This release does not claim OpusClip parity.