Things - Summary
This group is not part of the GNU Project.
Things is a Retained-Mode Canvas Animation API
The target O/S is GNU/Linux; it was developed on Kubuntu Gutsy.
I wanted an API to express animation and the 'thing-iness' of objects as directly as I could imagine. With Things, it's very easy to create visual metaphors.
"Things inside other things, doing things with stuff." is the basic recipe :) Each thing has a timeline and a variety of ways to draw py-cairo graphics. Each Thing can contain other things, and so-on down. Things can be tweened around keys like size, rotation and alpha.
Various specialized Things are available to do stuff like clipping, hit-detection, path following and so on.
Inkscape is the extended IDE for this API: You can draw all your vector graphics there and pull them out into Things via Python. You can draw individual 'sprites' or multiple 'loops' or paths and masks.
There is a (primitive) event system -- so you can do mouse stuff. Indeed there is a ButtonThing and a HitThing ready for use.
To manage "media" content, there is a Bag-Of-Stuff module which manages media and other stuff that goes into an animation:
- Loads animations and paths from SVG files.
- Installs fonts (otf, ttf) temporarily.
- Loads images.
My hope is that someone (with a brain, not like mine :) ) will take this API and turn it into a fast C/C++ library.
If this happens then we could focus on building an actual IDE to draw SVG and code Python and layout keys all on a visual timeline. It could be a really neat animation system for GNU/Linux (and other platforms).
It's written in Python and uses Python-Cairo as its engine.
Please see the demos; (they are named *.thingum.py) and run them from the command-line roughly like this:
python clouds.thingum.py
Export function
Export each frame to alpha PNG or SVG files: This will let you make quick ajax throbbers, animated gifs and import frames into other software like Blender for example.
Download
In order to get a copy, please use:
(stable)
svn co svn://svn.sv.gnu.org/things/releases/vers0-4
or
(dev)
svn co svn://svn.sv.gnu.org/things/trunk
Or, get it from:
http://download.savannah.nongnu.org/releases/things/
Thanks
Thanks to all the coders involved in Cairo, librsvg, Python, Pyparsing and too many others to mention.
\d
2009
Registration Date: Sun 26 Apr 2009 03:33:43 PM UTC
License: GNU General Public License v3 or later
Development Status: 0 - Undefined
- Browse open items
Submit a new item
Powered by Savane 3.14-8aba.
Corresponding source code