screenplay_snapshot_apply
Apply structured screenplay block edits through the snapshot-save path.
When to use
Use after `screenplay_read` when you know the current `base_rev`, target scene/block IDs, and the exact mutation to apply.
Use for direct block-level edits such as replacing text, inserting text, deleting text, deleting a block, inserting a new block, or updating block metadata such as dialogue character display.
Use `replace_scene_from_text` when the caller has exact Fountain/plain screenplay text and wants to replace one existing scene's editor blocks without creative rewriting.
When not to use
Do not use for natural-language requests like "make this dialogue sharper"; use `screenplay_edit_propose` then `screenplay_edit_apply`.
Do not use `screenplay_rewrite_run` for exact known replacement text; reserve rewrite proposals for creative direction-driven changes.
Do not use raw legacy editor operation objects; use the snapshot mutation operations exposed by this tool.
Do not use while `screenplay_generation_run` is still generating screenplay prose for the same project; poll `job_get` first.
Examples
“Replace block `block_abc` with this exact revised action line.”
“Delete block `block_abc` from snapshot revision 42.”
“Insert an action block after `block_abc` in scene `scene_123`.”
“Update dialogue block `block_abc` so its character display is `LESTRADE`.”
“Replace scene `scene_123` from exact Fountain text using `replace_scene_from_text`.”
Anti-examples
- Rewrite this whole scene in a darker tone.
- Apply this raw `updateText` op.
Backend capabilities
Linked resources
Tool calls may return resource_links pointing at these resource families.
Input schema
{
"$ref": "./screenplay.snapshot_apply.input.json"
}Output schema
{
"$ref": "./screenplay.snapshot_apply.output.json"
}