- Remove legacy_tasks.py, hybrid_state.py, render.py - Remove old task modules (analyze, execute, execute_sexp, orchestrate) - Add streaming interpreter from test repo - Add sexp_effects with primitives and video effects - Add streaming Celery task with CID-based asset resolution - Support both CID and friendly name references for assets - Add .dockerignore to prevent local clones from conflicting Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
26 lines
852 B
Common Lisp
26 lines
852 B
Common Lisp
;; Crossfade with Zoom Transition
|
|
;;
|
|
;; Macro for transitioning between two frames with a zoom effect.
|
|
;; Active frame zooms out while next frame zooms in.
|
|
;;
|
|
;; Required context:
|
|
;; - zoom effect must be loaded
|
|
;; - blend effect must be loaded
|
|
;;
|
|
;; Parameters:
|
|
;; active-frame: current frame
|
|
;; next-frame: frame to transition to
|
|
;; fade-amt: transition progress (0 = all active, 1 = all next)
|
|
;;
|
|
;; Usage:
|
|
;; (include :path "../templates/crossfade-zoom.sexp")
|
|
;; ...
|
|
;; (crossfade-zoom active-frame next-frame 0.5)
|
|
|
|
(defmacro crossfade-zoom (active-frame next-frame fade-amt)
|
|
(let [active-zoom (+ 1.0 fade-amt)
|
|
active-zoomed (zoom active-frame :amount active-zoom)
|
|
next-zoom (+ 0.1 (* fade-amt 0.9))
|
|
next-zoomed (zoom next-frame :amount next-zoom)]
|
|
(blend active-zoomed next-zoomed :opacity fade-amt)))
|