Hi guys, thi.ng is a collection of over a dozen largely x-platform Clojure & Clojurescript libs for computational/generative design & data visualization tasks.
I just wanted to give a little heads up that this project has recently seen a number of releases and, as a whole, by now is generally quite stable and usable (*is used*) for realworld projects (although most libs remain in constant parallel development to make them more feature complete). I've collated a number of images of projects and links to the most important libs here: http://thi.ng/ Most notably of those: http://thi.ng/geom By far the largest sub-project and backbone for most others: A 2D/3D geometry package w/ comprehensive vector algebra, swizzling, intersections, matrix types & helpers, quaternions, pure shape primitives with ~50 protocols for polymorphic enquiry & manipulation, meshes (incl. I/O), mesh subdivisions, CSG mesh ops, Verlet physics engine (only particles, springs, behaviors)... Most of this lib is pure geometry w/ no rendering specifics, although there're separate modules for SVG rendering w/ shader support & decorators [1], WebGL wrapper and converters from shapes/meshes to VBOs and various shader presets/utils. http://thi.ng/shadergraph GLSL (WebGL) pure function library & dependency graph (based on com.stuartsierra/dependency), GLSL minification during CLJS compile time http://thi.ng/color RGB, HSV, CMYK, CSS conversions, color presets (incl. D3 category schemes) http://thi.ng/luxor Complete scene compiler DSL for http://luxrender.net, based around thi.ng/geom http://thi.ng/morphogen Declarative 3D form evolution through tree-based transformations, basically an AST generator of geometric operations to transform a single seed node into complex 3D objects http://thi.ng/tweeny Interpolation of nested (presumably animation related) data structures. Allows tweening of deeply nested maps/vectors with completely flexible tween fns/targets and hence easy definition of complex timelines http://thi.ng/validate Purely functional, composable data validation & optional corrections for nested data. Supports both maps & vectors, wildcards, comes with many predefined validators, but extensible... http://thi.ng/trio A generic, non-RDF specific triple store API and feature rich SPARQL-like query engine (and my prime example of using the literate programming approach with org-mode[2][3]) Last but not least: Super special thanks are due to the following people: Rich, Alex + rest of clojure.core David (+everyone else involved) for the immense effort on making CLJS proper useful, Chas, Kevin and anyone else working on CLJX... none of this would have been possible without these amazing tools! Best, K. Ps. There're a number of other libs in this collection which are in dire need of updating (last touched spring 2013) - these are related to general OpenCL functionality and voxel rendering. Some of the example images on the above site were created with these... [1] https://github.com/thi-ng/geom/blob/master/geom-svg/src/examples.org [2] https://github.com/thi-ng/trio/blob/master/src/query.org [3] http://orgmode.org/ -- Karsten Schmidt http://postspectacular.com | http://thi.ng/ -- 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.