MCP: Queue Takes and review them (#197) #211
No reviewers
Labels
No labels
bug
duplicate
enhancement
help wanted
invalid
needs-info
needs-triage
question
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
crowmaki/ai-studio!211
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-197-mcp-takes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #197. Part of #157.
A harness can now render coverage and review it through the MCP server. Each tool wraps the existing
ApiImplTake command, so edits land in the undo log with their usual labels.Tools
queue_take: queues a draft or a Single-pass final (singlePassFinal), with an optionalseedandprofile. If a Shot can't be queued (a broken slot tag, a Shot over covered and uncovered Lines…), the app's reason comes back as a tool error.read_shot_takes: a Shot's Takes.read_scene_takes: each Shot of a Scene with its Takes andplayedTakeId. A Take shows its status, kind, seed, the circled, pinned, NG, seen and stale flags, Stale reasons, notes and Line marks. Each Rendition shows its absolutemasterPathandproxyPath.view_imageaccepts{kind: "take", id, renditionId?, frames?}. It samples frames evenly across the video with the app's ffmpeg (4 by default, 12 at most) and scales them down tomaxSize.saveTois refused for a Take; the error points to the Rendition paths instead.circle_take,pin_take,set_take_ng,add_take_note(with optionalatMs),remove_take_note.retry_take,delete_take,delete_failed_takes(a whole Scene),retry_post_steps.set_take_markandreset_take_marks.Core changes
wait_for_jobsnow reports a Take's job asrunninguntil its Rendition's post-steps finish (job_statuses). Before this, a finished wait could find the Take stillfinishing, with no files yet.TakeView::kindandTakeView::staledecide a Take's kind and staleness in the core (ADR-0003), and they appear onTakeDto. The edit package usesstale()too.rendition_paths,take_shot,take_video, andFfmpeg::sample_frames. Sampling runs outside the session lock.Tests
src-tauri/tests/mcp_takes.rscovers each acceptance criterion:wait_for_jobs→ listed with an existingmasterPath→view_imagereturns frames, and the frame count is cappedThere are also ffmpeg unit tests for frame sampling.
mp4,ready_rendition,undo_labelandshown_imagesmoved intotests/common/mcp.rs.Not tested: the refusal for a Shot over covered and uncovered Lines. The core refuses it, and it comes back the same way as the broken slot tag.