1743 Segs

(meta linear-colour-space: 1)

(define
  coords1 [[-191.644 73.790] ~ (gen/stray-2d from: [-191.644 73.790] by: [5 5])
           [395.937 295.903] ~ (gen/stray-2d from: [395.937 295.903] by: [5 5])
           [353.429 -314.465] ~ (gen/stray-2d from: [353.429 -314.465] by: [5 5])
           [-177.884 431.673] ~ (gen/stray-2d from: [-177.884 431.673] by: [5 5])]

  coords2 [[-444.875 218.669] ~ (gen/stray-2d from: [-444.875 218.669] by: [5 5])
           [-65.040 -463.065] ~ (gen/stray-2d from: [-65.040 -463.065] by: [5 5])
           [32.543 -83.763] ~ (gen/stray-2d from: [32.543 -83.763] by: [5 5])
           [-355.876 -41.990] ~ (gen/stray-2d from: [-355.876 -41.990] by: [5 5])]

  coords3 [[-479.267 281.277] ~ (gen/stray-2d from: [-479.267 281.277] by: [5 5])
           [190.163 -112.842] ~ (gen/stray-2d from: [190.163 -112.842] by: [5 5])
           [-140.530 381.657] ~ (gen/stray-2d from: [-140.530 381.657] by: [5 5])
           [-450.709 17.208] ~ (gen/stray-2d from: [-450.709 17.208] by: [5 5])]


  col-fn-1 (col/build-procedural preset: robocop ~ (gen/select from: col/procedural-fn-presets)
                                 alpha: 0.08)
  col-fn-2 (col/build-procedural preset: hotline-miami ~ (gen/select from: col/procedural-fn-presets)
                                 alpha: 0.08)
  col-fn-3 (col/build-procedural preset: mars ~ (gen/select from: col/procedural-fn-presets)
                                 alpha: 0.08)

  num-copies 27 ~ (gen/int min: 24 max: 28)
  squish (interp/build from: [0 (- num-copies 1)]
                       to: [1.7 ~ (gen/scalar min: 1.0 max: 2) 1.87 ~ (gen/scalar min: 1.4 max: 2)]))

(fn (draw angle: 0 copy: 0)
  (scale vector: [(interp/value from: squish t: copy)
                  (interp/value from: squish t: copy)])
  (fence (t num: 200)
    (poly coords: [(interp/bezier t: t coords: coords1)
                   (interp/bezier t: t coords: coords2)
                   (interp/bezier t: t coords: coords3)]
          colours: [(col/value from: col-fn-1 t: t)
                    (col/value from: col-fn-2 t: t)
                    (col/value from: col-fn-3 t: t)])))

(fn (render)
  (rect position: [500 500]
        width: 1000
        height: 1000
        colour: (col/value from: col-fn-1 t: 0.5))
  (on-matrix-stack
    (translate vector: [(/ canvas/width 2) (/ canvas/height 2)])
    (scale vector: [0.8 0.8])
    (repeat/rotate-mirrored fn: (address-of draw)
                            copies: num-copies)))

(render)