        [:section.demo-text
         [:h2 "Tapping into the rendering loop"]
 
-        [:p [:code "next-tick"]" is an existing function, that now has
-        a more predictable timing. It takes a function that is invoked
-        immediately before the next rendering (which is in turn
-        triggered using "[:code "requestAnimationFrame"]")."]
+        [:p "The "[:code "next-tick"]" function now has a more
+        predictable timing. The function passed
+        to "[:code "next-tick"]" is now invoked immediately before the
+        next rendering (which is in turn triggered
+        using "[:code "requestAnimationFrame"]")."]
 
         [:p [:code "after-update"]" works just
         like "[:code "next-tick"]", except that the function given is


(defn cursor-example []
  (let [first-person (r/cursor app-state [:people 1])]
    (dbg first-person)
    [:p "A person: " (:name @first-person)]))



    [:ul
     (for [i ids]
       ^{:key i} [name-comp i])]))


(defn log-app-state []
  (prn @app-state))

(def --space nil)

#_(defonce logger (r/track! log-app-state))

#_(r/dispose! logger)


(defn mouse-pos-comp []
