TL:DR Bardo https://github.com/pleasetrythisathome/bardo <https://github.com/pleasetrythisathome/bardo> is a clojure(script) library that provides semantics for defining interpolators between data structures as well as utilities for composing them with each other, easing curves, and other transformations. It can be extended through clojure protocols to define other interopolateable types.
This is great for animations, but can be useful in a variety of contexts where state is not binary. I come from a design and graphics background and got into programming initially writing particle systems and music visualizers. When I started doing web development and interactive work, transitions and animation we’re always an interest. I was deeply unsatisfied with the current state of black box Jquery animation, where one must be content with pressing play, and then watching the side effects flow. When I first started using React around the time it came out, and I was thrilled by the declarative nature. I realized that by instead of animation dom properties, if you transition component state, then suddenly you have the opportunity to insert arbitrary control flow into running animations. I wrote https://github.com/pleasetrythisathome/react.animate <https://github.com/pleasetrythisathome/react.animate> based on d3 interpolators. This library is a big step forward, based on an entirely functional approach and greatly aided clojure’s expressiveness. I’ve been using some version of this code in production projects for a while. That said, this is definitely still alpha software. Thoughts, issues, pull request, etc. are very welcome. I hope someone finds it useful! -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.