              (key-place 0 cornerrow web-post-br)
              (thumb-tr-place thumb-post-tl)
              (key-place 1 cornerrow web-post-bl)
+             (thumb-tr-place thumb-post-tr)
              (key-place 1 cornerrow web-post-br)
+             (key-place 2 lastrow web-post-tl)
+             (key-place 2 lastrow web-post-bl)
              (thumb-tr-place thumb-post-tr)
-             (key-place 2 cornerrow web-post-tl)
+             (key-place 2 lastrow web-post-bl)
+             (thumb-tr-place thumb-post-br)
+             (key-place 2 lastrow web-post-br)
+             (key-place 3 lastrow web-post-bl)
+             (key-place 2 lastrow web-post-tr)
+             (key-place 3 lastrow web-post-tl)
+             (key-place 3 cornerrow web-post-bl)
+             (key-place 3 lastrow web-post-tr)
+             (key-place 3 cornerrow web-post-br)
+             (key-place 4 cornerrow web-post-bl))
+      (triangle-hulls 
+             (key-place 1 cornerrow web-post-br)
+             (key-place 2 lastrow web-post-tl)
              (key-place 2 cornerrow web-post-bl)
-      )
+             (key-place 2 lastrow web-post-tr)
+             (key-place 2 cornerrow web-post-br)
+             (key-place 3 cornerrow web-post-bl)
+             )
+      (triangle-hulls 
+             (key-place 3 lastrow web-post-tr)
+             (key-place 3 lastrow web-post-br)
+             (key-place 3 lastrow web-post-tr)
+             (key-place 4 cornerrow web-post-bl))
   ))
 
 ;;;;;;;;;;
 ;; Case ;;
 ;;;;;;;;;;
-
-;; In column units
-(def right-wall-column (+ (last columns) 0.1))
-(def left-wall-column (- (first columns) 1/2))
-(def thumb-back-y 0.1)
-(def thumb-case-z 3)
-(def thumb-right-wall (- -1/2 0.05))
-(def thumb-front-row (+ -1 0.07))
-(def thumb-left-wall-column (+ 5/2 0.05))
-(def back-y 0.02)
-
-(defn range-inclusive [start end step]
-  (concat (range start end step) [end]))
-
-(def wall-step 0.2)
-(def wall-sphere-n 20) ;;20 Sphere resolution, lower for faster renders
-
-(defn wall-cube-at [coords]
-  (->> (cube 3 3 3)
-       (translate coords)))
-
-(defn scale-to-range [start end x]
-  (+ start (* (- end start) x)))
-
-(defn wall-cube-bottom [front-to-back-scale]
-  (wall-cube-at [0
-                   (scale-to-range
-                    (+ (/ mount-height -2) -3.5)
-                    (+ (/ mount-height 2) 5.0)
-                    front-to-back-scale)
-                   -6])) ; was -6, then 2
-
-(defn wall-cube-top [front-to-back-scale]
-  (wall-cube-at [0
-                   (scale-to-range
-                    (+ (/ mount-height -2) -3.5)
-                    (+ (/ mount-height 2) 3.5)
-                    front-to-back-scale)
-                   4])) ; case height
-
-(def wall-cube-top-back (wall-cube-top 1))
-(def wall-cube-bottom-back (wall-cube-bottom 1))
-(def wall-cube-bottom-front (wall-cube-bottom 0))
-(def wall-cube-top-front (wall-cube-top 0))
-
 
 (defn bottom [height p]
   (->> (project p)

             (key-place column (inc row) web-post-tr)))

          ;; Diagonal connections
          (for [column (range -1 ncols)
                row (range -1 lastrow)
            ;     :when (or (.contains [ 1 2 3] column)
            ;               (not= row 2))
                          ]
            (triangle-hulls
             (key-place column row web-post-br)
             (key-place column (inc row) web-post-tr)

  (apply union
         (concat
          ;; Row connections
          (for [column (range 0 (dec ncols))
                row (range 0 lastrow)]
            (triangle-hulls
             (key-place (inc column) row web-post-tl)
             (key-place column row web-post-tr)
