 (ns try-lwjgl.model.block
-  (:import [org.lwjgl.opengl GL11])
+  (:import [org.lwjgl.opengl GL11]
+           [com.bulletphysics.dynamics DiscreteDynamicsWorld DynamicsWorld RigidBody RigidBodyConstructionInfo])
   (:require [try-lwjgl.display.util :as util]
             [try-lwjgl.shader :as shader]
             [try-lwjgl.physics :as physics]
             [try-lwjgl.math :as math]
             [try-lwjgl.model.wood-block :as wood-block]))
 
-(defn create [world position]
+(defn create [^DiscreteDynamicsWorld world position]
   (let [width 1
         phys (physics/build-box width position)
         specs {:width width

  ;; intersects in 2D (facing y)
  )

;;(face-intersect [[0 0 0] [1 1 0]] [[0.5 0.5 0.5] [0.5 0.5 -0.5]])
(defn slope [line]
  (let [[p1 p2] line
        [p1x p1y] p1

  (let [[slope1 off1] (slope-offset seg1)
        [slope2 off2] (slope-offset seg2)]
    (cond
     (and (not slope1) (not slope2))
     nil

     (and slope1 slope2)
     (let [x (/ (- off2 off1) (- slope1 slope2))
           y (+ (* x slope1) off1)]
