 
 (defn position [block]
   (physics/get-position (:phys block)))
-
-(defn graph-position [block]
-  (let [pos (position block)
-        [x y z] pos
-        width (:width block)
-        offset (/ width 2.0)]
-    [(- x offset) (- y offset) (- z offset)]))
-
-(defn draw-face
-  ([block face]
-     (draw-face (graph-position block) nil nil))
-
-  ([graph-pos translate rotations]
-     (let [[x y z] graph-pos]
-       (shader/with-program
-         (util/with-pushed-matrix
-           (GL11/glTranslatef 0 0 0)
-           (GL11/glTranslatef x y z)
-
-           ;; White
-           (GL11/glColor3f 0.8 0.8 0.8)
-           (util/do-shape GL11/GL_LINES
-                          (GL11/glVertex3f 0 0 0)
-                          (GL11/glVertex3f 1 0 0)
-
-                          (GL11/glVertex3f 1 0 0)
-                          (GL11/glVertex3f 1 1 0)
-
-                          (GL11/glVertex3f 1 1 0)
-                          (GL11/glVertex3f 0 1 0)
-
-                          (GL11/glVertex3f 0 1 0)
-                          (GL11/glVertex3f 0 0 0)))))))
-
-(defn draw [block]
-  (let [graph-pos (graph-position block)
-        [x y z] graph-pos]
-    (util/with-pushed-matrix
-      (GL11/glTranslatef x y z)
-      (wood-block/draw))
-    (draw-face block [[0 0 0] [1 1 0]])))
-
-(defn draw-many [blocks]
-  (doseq [block blocks]
-    (draw block)))
 
 (defn face-intersect [face pointer]
   ;; intersects in 2D (facing z)

  (let [[slope1 off1] (slope-offset seg1)
        [slope2 off2] (slope-offset seg2)]
    (cond
     (and slope1 slope2)
     (let [x (/ (- off2 off1) (- slope1 slope2))
           y (+ (* x slope1) off1)]

   :else
   nil))

(defn line-segment-intersect [seg1 seg2]
  (let [intersect (line-intersect seg1 seg2)]
    (constrain-intersect intersect seg1 seg2)))

(defn arm-face-intersect [arm face]
  ;; facing down, towards y-axis
