reframe_coverage
Audit a project's reframed clips for stale stretches and false cuts. Detects window boundaries that miss scene cuts or slide mid-take, reporting timeline_start, shift, and nearest_cut to guide reframe_sheet fixes.
Instructions
Which placed seconds are framed by a window chosen for an earlier shot.
The question reframe_detect cannot answer: that one is about a
proposal, this is about the project on disk. A refused proposal writes
nothing, so a stretch can sit under a rect chosen for a shot that ended
long before — 13.6s of one clip across four camera setups on the film,
with the manifest, status and reframe_sheet all clean.
Every placement is walked against its source's scene cuts. A cut with no
window boundary within a frame of it opens a stale stretch. Read
stale_seconds — an override held across a cut, which looks
deliberate — not default_seconds (the centre crop, only the default
doing what it always did). Each stretch carries timeline_start; the fix
is reframe_sheet to look, then reframe_detect on the clip.
steps is the mirror, and the one a viewer notices: a window boundary
with no cut, where the frame slides sideways mid-take and reads as an edit
that is not there. Each carries shift and nearest_cut.
Needs no face detector, reads and never writes — but it decodes placed footage, so it is seconds, not free.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | The project directory to act on. Omit it — the usual case — when this server is bound to a project (started as `proofcut -C DIR mcp`, or inside a project; `ping` says which): it then resolves to that one bound project, a relative path resolves against it, and a path outside it is refused by name. Unbound, `path` is the whole address and omitting it refuses rather than guessing. | |
| clip_id | No | Walk one clip's placements. Omit it for the whole project. | |
| threshold | No | How strong a scene change has to be to **demand** a window. Boundaries are scored against every detected cut rather than only these, since a cut too weak to demand a window still explains one. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||