I've been really enjoying my last month working on a largish app based on re-frame and not run into any probs. However, today I was going to refactor another project using animation and came across an issue which I'm somewhat stumped by:
I created a global tick handler, which is supposed to be an event generator for various other handlers to update their data in the app db. Currently this :next-tick handler re-triggers itself like shown below and runs as predicted (~60Hz via requestAnimationFrame), but for the purpose of this question this could be triggered at any (lower) frequency: (defn re-trigger-timer [] (reagent/next-tick (fn [] (dispatch [:next-tick])))) (register-handler :next-tick (fn [db _] (re-trigger-timer) (update db :tick inc))) Now I'd like to have other handlers which (dynamically) subscribe to these tick changes, but they should be run without causing another 16ms delay caused from using the subscribe/dispatch mechanism - and I keep drawing a blank how to achieve this w/o modifying re-frame.db/app-db directly (outside an handler). Of course I could create a subscription for the :tick value, run the related code and return the computed data as derived view during re-drawing of the related components, but that kind of defeats the whole purpose and I'd really like these updates to happen in handlers. I'm sure there's a better way... no?! :) Could someone please clarify for me? FWIW the demo app in question is here: http://demo.thi.ng/geom/physics/strands.html For starters I'd like to update physics sim via an handler reacting to :tick changes, but there'll be others too... Thanks, K. -- Note that posts from new members are moderated - please be patient with your first post. --- You received this message because you are subscribed to the Google Groups "ClojureScript" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojurescript+unsubscr...@googlegroups.com. To post to this group, send email to clojurescript@googlegroups.com. Visit this group at http://groups.google.com/group/clojurescript.