         :head (make-node 300 150 2)
         :tail (make-node 100 150 2)
 
-        :h-l-k (make-node 310 75 0.5)
+        :h-l-k (make-node 300 75 0.5)
         :h-l-f (make-node 300 0 0.5)
-        :h-t-k (make-node 310 75 0.5)
+        :h-t-k (make-node 300 75 0.5)
         :h-t-f (make-node 300 0 0.5)
 
-        :t-l-k (make-node 90 75 0.5)
+        :t-l-k (make-node 100 75 0.5)
         :t-l-f (make-node 100 0 0.5)
-        :t-t-k (make-node 90 75 0.5)
+        :t-t-k (make-node 100 75 0.5)
         :t-t-f (make-node 100 0 0.5)
 
         :top-of-head (make-node 320 200 1)
+        :end-of-tail (make-node 80 200 1)
     }
     (map (partial apply make-spring) [
         [:head-a :head]
         [:tail-a :tail]
         [:head-a :tail-a]
         [:top-of-head :head]
+        [:end-of-tail :tail]
         [:head :tail]
         [:head :h-l-k]
         [:h-l-k :h-l-f]


(defn hinge-nodes [h]
    (map h [:node-a :node-b :node-c]))

(defn tick-imp [state tick-step input-state]
    (assoc state

        [goog.graphics.Stroke :as Stroke]
        [goog.graphics.SolidFill :as SolidFill]
        [goog.graphics.Path :as Path]
        [goog.date.UtcDateTime :as UtcDateTime]
        ))

(def my-code-url "https://github.com/pauldoo/scratch/blob/master/ClojureScript/hello.cljs")
(def width-in-px 800)
(def height-in-px 300)
(def ideal-tick-step (/ 1 100))
(def worst-tick-step (/ 1 50))
(def ideal-render-step (/ 1 25))
(def gravity-strength 500)
(def ground-rebound-strength 500)
(def ground-drag-factor 30)
(def air-drag-factor 1)

(defn print-to-log [v]
    (.log js/console v))

(defn print-passer [v] (do
    (print-to-log (pr-str v))
    v))


(def vec- (partial map -))
(def vec+ (partial map +))
