Ripple Delete
ripple_deleteDelete a clip and close its gap by shifting later clips on the same and sync-locked tracks, keeping linked audio and video in sync.
Instructions
Remove a clip and close the gap it leaves, shifting later clips earlier on the clip's own track and on every sync-locked track so audio stays in sync. With the default scope the clip's linked audio/video partners are removed with it and their tracks close up too, even when not sync-locked; with scope 'own_track' the partners stay in place (reported as linkedPartnersKept). Premiere's QE rippleDelete() and the DOM's rippleEdit flag are both non-functional on 26.x, so this is done explicitly and verified. Refuses without changing anything if a clip on a participating track straddles the ripple point or sits inside the range being closed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Which tracks shift: 'sync_locked' (default) shifts the clip's track plus every sync-locked track, matching Premiere's ripple behaviour; 'own_track' shifts only the clip's own track and WILL desync other tracks. | |
| dry_run | No | Validate and report the shift plan without changing the timeline (default: false) | |
| node_id | Yes | Node ID of the clip to ripple delete | |
| range_content | No | What to do about other clips on participating tracks that sit entirely inside the time range being closed (the usual case in a multicam-style sequence with aligned clips). With scope 'sync_locked' the clip's own linked audio/video partners are always removed with it, as in Premiere; with 'own_track' they are kept. 'refuse' (default) changes nothing and reports them; 'delete' also removes them, i.e. lifts that whole time segment out of every participating track and closes up. 'delete' is destructive across tracks -- the removed clips are listed in the result. | |
| idempotency_key | No | Optional client-chosen key (1-128 chars of A-Z a-z 0-9 . _ : -) for this intended edit. Pass a fresh key per edit and reuse it only when retrying that same edit, for example after a client-side timeout. A repeat with the same tool, key and arguments is not run again: while the first call is running it fails with IDEMPOTENCY_IN_PROGRESS (poll get_last_operations); after it finished it returns the original outcome marked replayed. A definite failure with nothing applied (receipt outcome not_applied) may be retried with the same key. Reusing a key with different arguments fails with IDEMPOTENCY_KEY_REUSED. Scoped to this MCP session (the stdio server process or one HTTP session) and held in memory only (200 keys, 1 hour); it does not survive a restart or reconnect. Read-only invocations are never deduplicated. | |
| allow_large_ripple | No | Allow a ripple above large_ripple_threshold after its preflight estimate. | |
| expected_cep_target | No | Optional reviewed CEP sequence/clip identity and exact tick ranges. Checked before every generated command; UXP refuses this CEP-only guard. | |
| expected_project_path | No | Optional absolute saved-project path. Every generated CEP command refuses before its body when the active project differs or is unsaved. UXP commands refuse this CEP-only guard; local-only tools do not inspect Premiere. Omit to keep existing behavior. | |
| large_ripple_threshold | No | Mover count above which ripple_delete refuses unless allow_large_ripple is true (default: 400). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | Yes | Whether the tool completed successfully. | |
| data | No | Tool-specific result data when ok is true; on failure, diagnostic detail when the tool provides it. | |
| tool | Yes | The registered MCP tool name. | |
| error | No | Failure detail when ok is false. | |
| receipt | No | Versioned common mutation receipt; success never implies rendered verification. | |
| idempotency | No | Present when idempotency_key deduplicated this call: replayed is true when the original outcome was returned instead of running again. |