
/g,">").replace(/"/g,""").replace(/'/g,"'")}let s={},c=[];function d(e,n,t){s={...s,dynamic:e,core:n,leinProject:t}}function u(){c=["wh","with-style"]}window.onload=()=>{let{dynamic:n,core:t,leinProject:r}=s;if(n&&(document.getElementById("code-dynamic").innerHTML=l(n)),t&&(document.getElementById("code-core").innerHTML=l(t)),r&&(document.getElementById("code-lein-project").innerHTML=l(r)),c){let e={wh:';; Copyright (c) 2016 Tyler Hobbs\n;; MIT License\n;; https://github.com/thobbs/genartlib/\n(defn h\n "Returns a given percentage of the height Quil-specific."\n ([] (h 1.0))\n ([percentage] (* (height) percentage)))\n\n;; Copyright (c) 2016 Tyler Hobbs\n;; MIT License\n;; https://github.com/thobbs/genartlib/\n(defn w\n "Returns a given percentage of the width. Quil-specific."\n ([] (w 1.0))\n ([percentage] (* (width) percentage)))\n',"with-style":"(defmacro with-style [& body]\n `(do\n (q/push-style)\n (try\n ~@body\n (finally (q/pop-style)))))\n"},n=c.map(n=>e[n]).join("\n");document.getElementById("code-helpers").innerHTML=l(n)}e(i).addPlugin((0,o.number)()),e(i).highlightAll()}}),o("2tEiH",function(e,t){n(e.exports,"number",()=>r);let r=e=>({"after:highlightElement":({el:e,result:n,text:t})=>{let r=n.value.split("\n");r.pop();let i=r.length.toString().length,a=r.map((e,n)=>{let t=(n+1).toString().padStart(i);return`${e}`}).join("\n");e.innerHTML=a}})}),a("d3dEA"),a("7Y8VX");var l=a("gUHNU");(0,l.make)("(ns sketch.dynamic\n (:require ; [clojure.java.shell :refer [sh]]\n ; [genartlib.algebra :refer :all]\n ; [genartlib.curves :refer :all]\n ; [genartlib.geometry :refer :all]\n ; [genartlib.random :refer :all]\n ; [kdtree :as kd]\n [artlib.quil.global :refer :all]\n [genartlib.util :refer [w h]]\n [quil.core :as q]))\n\n(let [steps 73\n step (/ 1 steps)\n snap 5]\n (defn draw [state]\n (let [frame (:frame state)\n f (/ frame 300)]\n\n (when (zero? (mod frame 45))\n (q/background 0 0 10))\n\n (with-style\n (q/stroke 0 0 100)\n (let [xs (->> (range 0.05 0.98 0.01)\n (map (fn [x] \n (let [n (q/noise 0.2 (* x 5) (* f 0.2))\n n (- (* 2 (q/noise 1.2 (* x n 3.3) (+ n 1.7))) 1)\n n (/ (Math/round (* n 20)) 20)\n offset (* 0.08 n)\n\n n (q/noise 3.3 (* x 2) (Math/sin (* Math/PI 2 f)))\n n (if (> n 0.6) n 0)\n n (/ (Math/floor (* n 20)) 20)\n y-off (+ 0.05 (* n 0.4))\n\n n (q/noise 3.5 (Math/sin (* Math/PI 2 f)))\n n (q/noise (+ 3.5 n) (+ (/ (Math/round (* x 15)) 15) n))\n n (/ (Math/floor (* (* n n n) 50)) 50)\n n (if (> n 0.5) n 0)\n y2 (- 0.9 (* n 0.5))]\n {:orig x :offset offset :y-off y-off :y2 y2}))))]\n (doseq [{orig :orig offset :offset y1 :y-off y2 :y2} xs]\n (let [x (+ orig offset)\n x (gauss x 0.00025)\n n (q/noise (q/noise (* x 3.2) (* f 0.3)) (q/noise (* x 1.3) (* f 1.1)))]\n (when (> 0.5 n)\n (q/line (w x) (h y2) (w x) (h y1))))))\n (doseq [y (range 0.03 0.97 0.01)]\n (doseq [[x1 x2] (partition 2 1 (range 0.05 0.95 0.025))]\n (let [n (- (* 2 (q/noise (* x1 2.5) (* y 0.1) f)) 1)\n n (- (* 2 (q/noise (* n x1 x2) (* n y x1) f)) 1)\n y (+ y (* 0.1 (/ (Math/round (* n 25)) 35)))]\n (when (> y 0.05)\n (q/line (w x1) (h y) (w x2) (h y))))))))))\n",'(ns sketch.core\n (:require [artlib.quil.middleware :refer [animation-mode]]\n [clojure.core.matrix :refer [set-current-implementation]]\n [quil.middleware :as qm]\n [sketch.dynamic :as dynamic]\n [quil.core :as q]))\n\n(set-current-implementation :vectorz)\n(println)\n\n(q/defsketch example\n :title "genuary-2025-01"\n :setup (fn [] {})\n :draw dynamic/draw\n :update identity\n :size [1080 1080]\n :animation {:render? true :dirname "1"}\n :middleware [qm/fun-mode animation-mode])\n\n','(defproject genuary-2025-01-01 "0.1.0-SNAPSHOT"\n :description "FIXME: write description"\n :url "https://example.com/FIXME"\n :license {:name "Apache License, Version 2.0"\n :url "https://www.apache.org/licenses/LICENSE-2.0.html"}\n :dependencies [[org.clojure/clojure "1.11.1"]\n [com.dedovic/artlib-core "0.0.10"]\n [com.dedovic/easings-clj "0.1.0"]\n [genartlib/genartlib "1.0.0"]] ; utility functions\n :jvm-opts ["-Xms4000m" "-Xmx4000M" ; 4GB heap size\n "-server"\n "-Dsun.java2d.uiScale=1.0"] ; adjust scaling for high DPI displays\n :source-paths ["src/clj"]\n :java-source-paths ["src/java"]\n :resource-paths ["resources"])\n'),(0,l.withDefaultHelpers)();
dynamic.clj
core.clj
helpers
project.clj