anchor.diff:  
   (defun draw-problem (problem &key (filename "~/field.svg"))
     (let* ((polygons (src/types:silhouette problem))
  -         (lines (src/types:skeleton problem))
  -         (bounding-box (reduce #'bounding-box-union (mapcar #'cl-geometry::construct-bounding-box polygons)))
  -         (x-min (cl-geometry::x-min bounding-box))
  -         (x-max (cl-geometry::x-max bounding-box))
  -         (y-min (cl-geometry::y-min bounding-box))
  -         (y-max (cl-geometry::y-max bounding-box))
  -         (*x-shift* (if (or (> x-max 1) (< x-min 0))
  -                        (/ (- 1 (+ x-min x-max)) 2)
  -                        0))
  -         (*y-shift* (if (or (> y-max 1) (< y-min 0))
  -                        (/ (- 1 (+ y-min y-max)) 2)
  -                        0))
  -         (max-size (max (- x-max x-min) (- y-max y-min)))
  -         (*border* (if (> max-size 1)
  -                       (+ *border* (round (/ (* *scale* (- max-size 1)) 2)))
  -                       *border*))
  -         (size (+ *scale* (* 2 *border*))))
  -    (with-svg-to-file
  -        (scene 'svg-1.1-toplevel :height size :width size)
  -        (filename :if-exists :supersede)
  -      (mapc (lambda (polygon) (draw-polygon scene polygon)) polygons)
  -      (mapc (lambda (line) (draw-line-segment scene line)) lines)
  -      (draw-field scene))))
  +         (lines (src/types:skeleton problem)))
  +    (with-calculated-size (polygons)
  +      (with-svg-to-file
  +          (scene 'svg-1.1-toplevel :height size :width size)
  +          (filename :if-exists :supersede)
  +        (mapc (lambda (polygon) (draw-polygon scene polygon)) polygons)
  +        (mapc (lambda (line) (draw-line-segment scene line)) lines)
  +        (draw-field scene)))))
   
   (defun dump-problems (problem-folder)
     (mapc (lambda (problem-file)
  
positive.code:             (draw group (:line :x1 (+ *scale* (- *border* a3)) :y1 cur-a :x2 (+ *scale* (+ *border* a3)) :y2 cur-a))
              ))))
  
  (defun draw-text (scene text point)
    (text scene (:x (get-x (x point)) :y (get-y (y point))) text))
  
  
negative.code:                                                                   (get-x (x point))
                                                                    (get-y (y point))))
                                                          points))))
      (if stroke
          (draw scene (:polygon :points string-points :fill "orange" :stroke stroke))
          (draw scene (:polygon :points string-points :fill "orange")))))
  
  (defun draw-polygons-to-svg (polygons &key (filename "~/polygon.svg"))
    (with-calculated-size (polygons)
      (with-svg-to-file
          (scene 'svg-1.1-toplevel :height size :width size)
          (filename :if-exists :supersede)
  