;; Swirl effect - spiral vortex distortion (require-primitives "geometry" "image") (define-effect swirl :params ( (strength :type int :default 1 :range [-10 10]) (radius :type float :default 0.5 :range [0.1 2]) (center_x :type float :default 0.5 :range [0 1]) (center_y :type float :default 0.5 :range [0 1]) (falloff :type string :default "quadratic") ) (let* ((w (image:width frame)) (h (image:height frame)) (cx (* w center_x)) (cy (* h center_y)) (coords (geometry:swirl-coords w h strength radius cx cy falloff))) (geometry:remap frame (geometry:coords-x coords) (geometry:coords-y coords))))