From 37dc472982193662f59c739748438533268771a2 Mon Sep 17 00:00:00 2001 From: gilesb Date: Mon, 12 Jan 2026 06:45:02 +0000 Subject: [PATCH] Add dog-invert-concat recipe Dog video from cat + inverted user video concatenated. Uses the new invert effect with frame-by-frame API. Co-Authored-By: Claude Opus 4.5 --- recipes/dog-invert-concat/recipe.sexp | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 recipes/dog-invert-concat/recipe.sexp diff --git a/recipes/dog-invert-concat/recipe.sexp b/recipes/dog-invert-concat/recipe.sexp new file mode 100644 index 0000000..5823462 --- /dev/null +++ b/recipes/dog-invert-concat/recipe.sexp @@ -0,0 +1,39 @@ +; dog-invert-concat recipe +; Creates dog video from cat, inverts a user-supplied video, then concatenates +; Demonstrates: def bindings, variable inputs, effect with params, branching DAG + +(recipe "dog-invert-concat" + :version "1.0" + :description "Create dog video from cat, invert second video, concatenate" + :owner "@giles@artdag.rose-ash.com" + + ; Registry + (asset cat + :hash "33268b6e167deaf018cc538de12dbe562612b33e89a749391cef855b320a269b" + :url "https://rose-ash.com/content/images/2026/01/cat.jpg") + + (effect identity + :hash "640ea11ee881ebf4101af0a955439105ab11e763682b209e88ea08fc66e1cc03" + :url "https://github.com/gilesbradshaw/art-dag/tree/main/effects/identity") + + (effect dog + :hash "d048fe313433eb4e38f0e24194ffae91b896ca3e6eed3e50b2cc37b7be495555" + :url "https://github.com/gilesbradshaw/art-dag/tree/main/effects/dog") + + (effect invert + :hash "9144a60cdb73b9d3bf5ba2b4333e5b7e381ab02d2b09ee585375b4fa68d35327") + + ; Create dog video from cat + (def dog-video + (-> (source cat) + (effect identity) + (effect dog))) + + ; User-supplied second video, inverted + (def inverted-video + (-> (source :input "Second Video" + :description "Video to invert and concatenate after the dog video") + (fx invert :intensity 1.0))) + + ; Concatenate: dog first, then inverted user video + (sequence dog-video inverted-video))