                    thumb
                    thumb-connectors
                    case-walls
+                   test-shape
                   ;  usb-cutout
                   ;  thumbcaps
                   ;  caps

(defn key-place [column row shape]
  (let [row-placed-shape (->> shape
                              (translate [0 0 (- row-radius)])
                              (rotate (* α 
                                        (- cornerrow row 1) ; controls front-back tilt
                                      ) [1 0 0])      
                              (translate [0 0 row-radius]))
        column-offset (cond
                        (= column 2) [0 2.82 -4.5]
                        (>= column 4) [0 -5.8 5.64]
                        :else [0 0 0])
        column-angle (* β (- 3 column))                      ; controls left-right tilt / tenting
        placed-shape (->> row-placed-shape
                          (translate [0 0 (- column-radius)])
                          (rotate column-angle [0 1 0])

   (wall-brace thumb-tr-place  0 -1 thumb-post-br (partial key-place 3 lastrow)  0 -1 web-post-bl)
  ))

(defn on-wall-place [column depth shape]
  (key-place column 0
    (->> shape
         (rotate (* α centerrow) [-1 0 0])      
         (rotate (+ (* β (- centercol column)) (/ π 12)) [0 -1 0])      
         (translate [0 (/ mount-height 2) -15])
                        ; (Math/sin (/ α 2)))
         )))
(def test-shape (on-wall-place 1 20 (cube 5 30 10)))

(def teensy-width 20)
(def teensy-height 12)
(def teensy-length 33)
(def teensy-pcb-thickness 1.6)
(def teensy-offset-height 5)

(def usb-cutout
  (let [hole-height 6.2
