mirror of
https://github.com/storytold/photocraft.git
synced 2026-11-10 18:20:31 -06:00
* Batch: a failed step inside a called action fails the file and the script (#2779) Scripts (File › Scripts › Browse, Script Events) ignored the `failed` entry that `actions.play` returns when a step inside the called action fails, so they reported ok and kept going. Batch and droplets ran each file in a scratch session without the actions list, so any nested action call failed with "no action named". The scratch session now gets the caller's actions and playback stack (an action that batches itself is caught as recursive), and both runners check nested_failure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Droplets: carry the actions their Play Action steps call (#2794) createDroplet saved only the chosen action's own steps, so a droplet whose action plays another action failed on every file when run outside the creating session (photocraft-cli droplet and the .command shim run it in a fresh Session with no actions). createDroplet now embeds the called actions, followed transitively with a seen-set and the 16-level playback cap, under "calledActions" (not "actions", which the CLI reads as an action set). Index references become names. runDroplet passes them to file.automate.batch, whose per-file sessions then play from them. Droplets without the key behave as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Droplets test: build Actions from JSON so the test survives new Action fields #2866 adds Action.disabled; a struct literal here would stop compiling once both land. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>