;; Trails effect - persistent motion trails (define-effect trails :params ( (persistence :type float :default 0.8 :range [0 0.99]) ) (let* ((buffer (state-get 'buffer nil)) (current frame)) (if (= buffer nil) (begin (state-set 'buffer (copy frame)) frame) (let* ((faded (blend-images buffer (make-image (width frame) (height frame) (list 0 0 0)) (- 1 persistence))) (result (blend-mode faded current "lighten"))) (begin (state-set 'buffer result) result)))))