                   (when-not (is-grid-group
                               new-cluster)
                     (do
-                      (my-log pos-idx ::split-cluster new-cluster)
+                      (log-it pos-idx ::split-cluster new-cluster)
                       (split-cluster new-cluster)))))))
           ;;7
           (when (= ::dense (::label char-vec))
-            (do (my-log pos-idx ::dense-label char-vec)
+            (do (log-it pos-idx ::dense-label char-vec)
                 (let [neighbors          (grid-cell->neighbors {pos-idx char-vec} (::grid-cells @updated-state*))
                       neighbors-clusters (->>
                                            (::grid-cells @updated-state*)

    @the-state*))

(defn- init-clustering-iterations [state iter-count]
  (my-log state ::init-clustering {:iteration iter-count})
  (let [state-after (initial-clustering-single-pass state)]
    (if (= state state-after)
      (do
        (my-log state-after ::init-clustering.complete {:iterations iter-count})
        state-after)
      (do
        (my-log state-after ::init-clustering.recurring {:iterations iter-count})
        (recur state-after (inc iter-count))))))

(defn initial-clustering [state t]

(defn adjust-clustering [state t]
  (let [updated-state* (atom (update-grid-cells state t))]
    (doseq [[pos-idx char-vec] (::grid-cells @updated-state*)]
      (log-it pos-idx ::adjust-clustering char-vec)
      (when (= t (::last-time-label-changed char-vec))
        (do
          (log-it pos-idx ::label-changed-this-iteration char-vec)
          ;;4
          (when (= ::sparse (::label char-vec))
            (do
              (log-it pos-idx ::sparse-label char-vec)
              (let [old-cluster (::cluster char-vec)]
                (swap! updated-state* assoc-in [::grid-cells pos-idx]
                       (assoc char-vec ::cluster "NO_CLASS"))
