1585 Seeds

(define
  seed-radius 3.2 ~ (gen/scalar min: 3 max: 5)
  scale-factor 4
  phi (/ (sqrt 5 ~ (gen/scalar min: 4 max: 6)) 8 ~ (gen/scalar min: 1 max: 10))
  seeds 200
  make-colour (col/build-procedural a: [0.80 0.50 0.40] ~ (gen/scalar)
                                    b: [0.20 0.40 0.20] ~ (gen/scalar)
                                    c: [2.00 1.00 1.00] ~ (gen/scalar)
                                    d: [0.00 0.25 0.25] ~ (gen/scalar))

  focalpoint (focal/build-point ~ (gen/select from: '(focal/build-point focal/build-hline focal/build-vline))
                                position: [500 ~ (gen/int max: canvas/width)
                                               500 ~ (gen/int max: canvas/height)]
                                distance: 800 ~ (gen/int min: (/ canvas/width 2) max: canvas/width)))

(fn (interesting-circle position: [500 500]
                        colour: red
                        seed: 454
                        radius: 300)
  (define
    rng (prng/build seed: seed)
    outer-exterior (prng/build seed: (prng/value from: rng) min: 170 max: 210)
    outer-interior (prng/build seed: (prng/value from: rng) min: 80 max: 170)
    inner-exterior (prng/build seed: (prng/value from: rng) min: 100 max: 150)
    inner-interior (prng/build seed: (prng/value from: rng) min: 0 max: 100)
    srng (prng/build min: -1 max: 1 seed: seed))
  (on-matrix-stack
    (translate vector: position)
    (scale scalar: (/ radius 210))
    (loop (i to: 3)
      (on-matrix-stack
        (rotate angle: (* 360 (prng/value from: rng)))
        ;; outer ring
        (circle-slice tessellation: 20
                      position: [0 0]
                      colour: (col/lighten from: colour
                                           value: (* 30 ~ (gen/int min: 20 max: 60) (prng/value from: srng)))
                      angle-start: 0
                      angle-end: 320
                      width: (prng/value from: outer-exterior)
                      inner-width: (prng/value from: outer-interior)
                      height: (prng/value from: outer-exterior)
                      inner-height: (prng/value from: outer-interior))
        ;; inner ring
        (circle-slice tessellation: 10
                      position: [0 0]
                      colour: (col/lighten from: colour
                                           value: (* 20 ~ (gen/int min: 10 max: 40) (prng/value from: srng)))
                      angle-start: 0
                      angle-end: 320
                      width: (prng/value from: inner-exterior)
                      inner-width: (prng/value from: inner-interior)
                      height: (prng/value from: inner-exterior)
                      inner-height: (prng/value from: inner-interior))))
    ;; centre fill
    (circle-slice tessellation: 10
                  position: [0 0]
                  colour: (col/lighten from: colour
                                       value: (* 10 ~ (gen/int min: 5 max: 20) (prng/value from: srng)))
                  angle-start: 0
                  angle-end: 360
                  radius: 30)))


(rect position: [500 500]
      width: canvas/width
      height: canvas/height
      colour: (col/rgb r: 1 g: 1 b: 1 alpha: 1) ~ (gen/col))

(loop (seed to: seeds)
  (define
    zoom 8
    radius (* zoom seed-radius)
    theta (/ (* seed math/TAU) phi)
    r (* scale-factor (sqrt seed))
    position [(+ 500 (* r zoom (math/cos from: theta)))
              (+ 500 (* r zoom (math/sin from: theta)))]
    colour (col/value from: make-colour t: (focal/value from: focalpoint position: position)))
  (interesting-circle position radius colour seed))