   :name "save",
   :opts {:renderer :p3d, :settings nil},
   :draw
-  "((q/camera 150 150 150 0 0 0 0 0 1) (q/box 100) (q/save \"generated/box.png\"))",
+  "((q/camera 150 150 150 0 0 0 0 0 1) (q/box 100) (q/save \"generated/box.png\") (comment \"stop sketch after saving image\") (comment \"otherwise it will show save dialog\") (comment \"on every iteration\") (q/exit))",
   :setup "()",
   :target :cljs}
  {:fns ["point-light"],

  :name "set-state-state",
  :opts {:settings nil},
  :draw
  "((q/fill 0) (q/text (q/state :text) 10 20) (q/text (str \"Full state: \" (q/state)) 10 40))",
  :setup "(q/set-state! :text \"I'm state!\" :year (q/year))",
  :target :cljs}
 {:fns ["resize"],

  :name "mouse",
  :opts {:settings nil},
  :draw
  "((q/background 255) (q/fill 0) (comment \"iterate through all mouse-related functions\") (comment \"and print their values\") (doseq [[ind capt fn] [[0 \"mouse-button\" q/mouse-button] [1 \"mouse-pressed?\" q/mouse-pressed?] [2 \"mouse-x\" q/mouse-x] [3 \"mouse-y\" q/mouse-y] [4 \"pmouse-x\" q/pmouse-x] [5 \"pmouse-y\" q/pmouse-y]]] (q/text (str capt \" \" (fn)) 10 (+ (* 20 ind) 20))))",
  :setup "()",
  :target :clj}
 {:fns
