mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 01:50:42 -05:00
526 lines
21 KiB
Plaintext
526 lines
21 KiB
Plaintext
Clutter 0.6.0 (18/02/2008)
|
|
==========================
|
|
|
|
* List of changes between 0.5.6 and 0.6.0
|
|
|
|
o New documentation sections inside the API reference, describing
|
|
the animation framework.
|
|
|
|
o New API in ClutterActor for computing the actor's vertices in
|
|
the plane of a given ancestor and accessors to query whether an
|
|
actor is scaled or rotated
|
|
|
|
* List of bug fixed
|
|
|
|
o #613 - Extend point transformation API
|
|
o #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington]
|
|
o #787 - tiled textures are broken
|
|
o #796 - segmentation fault when setting label text
|
|
|
|
Clutter 0.5.6 (11/02/2008)
|
|
==========================
|
|
|
|
* List of changes between 0.5.4 and 0.5.6
|
|
|
|
o Reverted a last minute change in the depth sorting function of
|
|
ClutterGroup.
|
|
|
|
o Added the clutter_actor_move_anchor_point() family of functions,
|
|
which will set the anchor point at the given coordinates while
|
|
adjusting the actor postion so that the relative position of the
|
|
actor toward its parent remains the same.
|
|
|
|
o Provide a fallback for finding the Clutter alpha functions inside
|
|
a UI definition for ClutterScript in case g_module_open() fails.
|
|
|
|
o Add initial Frame Buffer Objects support in ClutterTexture; using
|
|
FBOs, where supported by the hardware and drivers, it's possible to
|
|
create a ClutterTexture from any actor.
|
|
|
|
* List of bugs fixed
|
|
|
|
o #386 - Stage is white unless a timeline is present
|
|
o #439 - timing related pong lockup due to timeline rewind...
|
|
o #440 - 1 pixel line flickering
|
|
o #442 - Shader support
|
|
o #451 - Improve font rendering quality (Pango)
|
|
o #452 - Textures are shown with distortion on Solaris/SPARC
|
|
o #526 - OSX backend
|
|
o #533 - Clutter stage is not shown under some conditions
|
|
o #540 - ClutterStage isn't always respecting requests to change size
|
|
o #549 - Backend offscreen API is broken
|
|
o #613 - Extend point transformation API
|
|
o #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole
|
|
Beauchesne]
|
|
o #643 - Superfluous "filter-quality" setting in texture_upload_data()?
|
|
[Gwenole Beauchesne]
|
|
o #689 - Rotating actor through layers does not handle opacity
|
|
correctly [Josh Stewart]
|
|
o #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne]
|
|
o #719 - X11 backend does not check window field in events [Havoc
|
|
Pennington]
|
|
o #724 - ClutterLabel reports wrong height when lines > 1
|
|
o #749 - "reactive" property does not change
|
|
o #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc
|
|
Pennington]
|
|
o #756 - clutter_actor_get_abs_size returns bogus values
|
|
o #769 - OSX backend fails to build
|
|
o #770 - OSX: passing incompatible pointer type
|
|
|
|
Clutter 0.5.4 (25/01/2008)
|
|
==========================
|
|
|
|
* List of changes between 0.5.2 and 0.5.4
|
|
|
|
o A clutter-x11-<major>.<minor> pkg-config file is installed along
|
|
with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
|
|
ones, for libraries and applications depending on the X11-based
|
|
backends (GLX and EGLX).
|
|
|
|
o Textures are correctly unrealized before changing and freeing the
|
|
main GL context.
|
|
|
|
o It is now possible to block the automatic call to clutter_main_quit()
|
|
when closing the stage window using the frame controls by connecting
|
|
an handler for the ::event signal on the Clutter stage and checking
|
|
for the CLUTTER_DELETE event type and returning TRUE. This allows
|
|
the usage of other main loops with GLib reactors (like Python's twisted)
|
|
with Clutter without triggering assertions by closing the stage window.
|
|
|
|
* List of bugs fixed
|
|
|
|
o #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
|
|
o #614 - ClutterActor API inconsistencies
|
|
o #640 - ClutterTexture unrealized with no GL context
|
|
o #654 - Under heavy load clutter sometimes drops the last frame of
|
|
a timeline [Johan Bilien]
|
|
o #672 - Event handling in osx backend is broken [Tommi Komulainen]
|
|
o #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
|
|
o #695 - clutter-shader: Invalid format string for
|
|
gssize [Tommi Komulainen]
|
|
o #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
|
|
o #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
|
|
o #714 - clutter_event_copy for enter/leave event generates
|
|
extra unref [Neil Roberts]
|
|
o #715 - Type errors in test-shader
|
|
o #720 - BehaviourScale not working in python after recent
|
|
API change [Josh Stewart]
|
|
|
|
Clutter 0.5.2 (14/01/2008)
|
|
==========================
|
|
|
|
* List of changes between 0.5.0 and 0.5.2
|
|
|
|
o ClutterModelDefault has been renamed to ClutterListModel
|
|
|
|
o ClutterModel now has vector-based variants for append, prepend and
|
|
insert methods; these methods are useful for bindings
|
|
|
|
o Add units-based variant for clutter_actor_move_by()
|
|
|
|
* List of bugs fixed
|
|
|
|
o #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
|
|
o #700 - Fix for clutter_effect_rotate() [Neil Roberts]
|
|
|
|
Clutter 0.5.0 (02/01/2008)
|
|
==========================
|
|
|
|
* List of changes between 0.4.2 and 0.5.0
|
|
|
|
o New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
|
|
flag set will receive events from the underlying backend; the event
|
|
propagation chain will be walked in two directions (from the actor to
|
|
the top-level container and back) with the ability to block it in
|
|
both phases.
|
|
|
|
o ClutterShader, an abstraction over the programmable OpenGL pipeline.
|
|
|
|
o ClutterScore, an object for controlling timelines; using a score
|
|
instance is possible to start multiple timelines at once, or start
|
|
a timeline after another has emitted the ::complete signal.
|
|
|
|
o ClutterScript, an object for parsing a scene from an external file or
|
|
a buffer; the scene is described using JSON (JavaScript Object Notation):
|
|
every object is defined using its class and properties, and container
|
|
objects can have their children defined as well. It is also possible
|
|
do describe top-level objects such as timelines and behaviours, and to
|
|
automatically connect signal handlers to signal names.
|
|
|
|
o ClutterTimelines duration can now be set in milliseconds using the
|
|
:duration property; the default framerate will be used to compute the
|
|
actual duration in frames. The default framerate will be set by the
|
|
backend, and can be overridden by the application.
|
|
|
|
o ClutterTimelines direction can now be set using the :direction
|
|
property; a timeline can be set to proceed forward or backward,
|
|
and the direction can also be change while the timeline is still
|
|
running.
|
|
|
|
o New, experimental OSX backend.
|
|
|
|
o Build environment for MS VisualStudio 2005.
|
|
|
|
o ClutterModel, a generic list-based model object that can be used to
|
|
implement actors following the Model-Viewer-Controller design pattern.
|
|
Clutter provides a default implementation of ClutterModel, called
|
|
ClutterModelDefault and using the GSequence data structure from GLib
|
|
to optimize insertion and look up.
|
|
|
|
o Add the ability to grab pointer and keyboard events: if an actor
|
|
is set to have a grab it'll be the only one receiving events until
|
|
it releases the grab.
|
|
|
|
o Add the ability for an actor to receive the key focus; an actor
|
|
with key focus will always receive the key events, even if it did
|
|
not acquire the keyboard grab.
|
|
|
|
o It is now possible to set the GL "fog" (also known as "depth cueing")
|
|
effect on the ClutterStage; if the fog is enabled, actors farther
|
|
away from the view point will fade into the stage background color.
|
|
|
|
o Each actor now has an "anchor point", a point defined in the actor's
|
|
coordinate space that will be used as the origin when scaling and
|
|
rotation transformations.
|
|
|
|
o Every pixel-based API has been doubled with a corresponding
|
|
ClutterUnits-based function (postfixed with a '-u'), for instance:
|
|
|
|
clutter_actor_set_position() - clutter_actor_set_positionu()
|
|
clutter_actor_set_size() - clutter_actor_set_sizeu()
|
|
clutter_actor_set_depth() - clutter_actor_set_depthu()
|
|
|
|
This allows sub-pixel precision and device independence.
|
|
|
|
o The ClutterLabel actor now tries very hard to provide a sane
|
|
default size, if no bounding box has been requested; this fixes
|
|
the :alignment property and allows the addition of the :justify
|
|
property.
|
|
|
|
o The SDL backend can now be compiled under win32 with MingW; this
|
|
backend is still marked as experimental.
|
|
|
|
o The OSX backend allows the compilation of Clutter under OS X; this
|
|
backend is experimental.
|
|
|
|
* List of bugs fixed
|
|
|
|
o #423 - All actors should emit events rather than just the stage
|
|
o #424 - Interface definition files
|
|
o #443 - ClutterModel implementation
|
|
o #480 - Uninitialized variable in
|
|
path_alpha_to_position() [Gwenole Beauchesne]
|
|
o #511 - clutter_stage_get_actor_at_pos problem
|
|
o #512 - clutter window moves when stage actor is scaled
|
|
o #518 - XEMBED not supported in eglx backend
|
|
o #519 - Should have an Atom cache initialized on start up
|
|
o #520 - Delete after multibyte unicode chars in
|
|
ClutterEntry [Tommi Komulainen]
|
|
o #522 - Array out of bounds indexing [Tommi Komulainen]
|
|
o #523 - cogl portability fixes [Tommi Komulainen]
|
|
o #524 - missing config.h includes [Tommi Komulainen]
|
|
o #525 - Redundant include in cogl/gl [Tommi Komulainen]
|
|
o #531 - Extraneous "new-frame" signal generated
|
|
o #532 - clutter_actor_set_scale_with_gravityx()
|
|
precision [Gwenole Beauchesne]
|
|
o #544 - clutter_color_to_hlsx is broken [Neil Roberts]
|
|
o #546 - ClutterStageState doesn't make sense
|
|
o #550 - Wanted: Set Actor's position based on center or other
|
|
edges/corners of quadrangle
|
|
o #557 - ClutterScript should support complex properties for third
|
|
party classes
|
|
o #558 - Unmerge UI definitions
|
|
o #566 - ClutterEntry does not scroll the text to the
|
|
right [Gwenole Beauchesne]
|
|
o #577 - Inconsistent naming of behaviour properties
|
|
o #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
|
|
o #582 - api naming inconsistence between
|
|
clutter_behaviour_path_append_knots and
|
|
clutter_behaviour_bspline_append
|
|
o #584 - Typo on clutter_effect_rotate_x documentation page
|
|
o #592 - Fix build on trunk [Gwenole Beauchesne]
|
|
o #596 - ClutterTexture tileing logic is a little borked
|
|
o #597 - ClutterGroups not pickable
|
|
o #600 - fix ClutterLabel layout computing when no box has been set
|
|
o #604 - Color param for Label constructor should be
|
|
const [Jonathon Jongsma]
|
|
o #606 - enable depth test in GL
|
|
o #608 - Control motion events frequency
|
|
o #614 - ClutterActor API inconsistencies
|
|
o #616 - ClutterTexture doesn't respect width set from clutterscript
|
|
o #617 - ClutterEffect Improvements
|
|
o #618 - ClutterScript name/id confusion
|
|
o #619 - clutter_behavior_rotate angle properties should accept
|
|
negative values
|
|
o #628 - clutter_actor_rotate_x() is a setter, not a modifier
|
|
o #629 - There is no clutter_actor_get_position()
|
|
o #634 - clutter_behaviour_path_new() documentation unclear
|
|
o #637 - add depth cueing support to the stage
|
|
o #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
|
|
o #647 - Cannot hide the stage
|
|
o #648 - Hidden fullscreen stage doesn't come back as fullscreen
|
|
o #652 - reference needed on actor being source of last motion_event
|
|
o #661 - clutter_actor_set_width() documentation is vague
|
|
o #662 - clutter_actor_set_opacity() documentation doesn't describe values
|
|
o #665 - ClutterBehaviourEllipse tilts are broken
|
|
o #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
|
|
o #673 - ClutterActor "captured-events" signal documentation wrong
|
|
o #674 - ClutterActor::get_depth() and set_depth() vfuncs not
|
|
used [Murray Cumming]
|
|
o #675 - update subregions of cluttertextures
|
|
o #678 - ClutterLabel size allocation still bogus
|
|
|
|
Clutter 0.4.0 (07/08/2007)
|
|
========================
|
|
|
|
* List of changes between 0.3.1 and 0.4.0
|
|
|
|
o Many documentation additions and improvements.
|
|
|
|
o Display DPI now honours on backends its can be queried.
|
|
|
|
o Various big endian related fixes.
|
|
|
|
o ClutterBehaviourEllipse and ClutterBehaviourRotate API and
|
|
internals improvements.
|
|
|
|
o Add basic tslib support to eglnative backend (for touchscreen events)
|
|
|
|
o clutter_stage_get_actor_at_pos should now work on 16bpp displays.
|
|
|
|
o New ClutterEffect rotation calls.
|
|
|
|
o Allowing user resizing of the stage now optional.
|
|
(implemented by glx backend only currently)
|
|
|
|
o ClutterEntry UTF8 fixes and improved automatic initial sizing.
|
|
|
|
o Make ClutterActor GInitiallyUnowned.
|
|
|
|
o New ClutterBox API: each box has now a colour and a margin (distance
|
|
between the inner-border and the children); plus, each packed child
|
|
has a padding. Margins and paddings are expressed in ClutterUnits,
|
|
to ease the transition to the device independent units. You can use
|
|
clutter_box_set_default_padding() if you want the same padding for
|
|
each child.
|
|
|
|
* List of bug fixed
|
|
o #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
|
|
o #398 - inconsistent type for return value of clutter_event_get_state
|
|
o #403 - Critical error when removing texture actor
|
|
o #404 - Solaris build error with OpenGL, missing
|
|
GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
|
|
o #409 - depth mismatch between visual (32) and window (24)
|
|
o #407 - metadata-available signal #ifdef'ed out
|
|
o #413 - Clutter compile error with Sun Studio C compiler
|
|
o #426 - typo in sdl_backend
|
|
o #414 - ClutterEntry invisible if size not set
|
|
o #434 - clutter_color_from_pixel incorrectly interprets alpha value
|
|
o #435 - clutter_color_subtract does the opposite of its documentation
|
|
o #436 - clutter-behaviour-depth always perform "from deep to shallow"
|
|
|
|
Clutter 0.3.1 (06/07/2007)
|
|
========================
|
|
|
|
* List of changes between 0.3 and 0.3.1
|
|
o EGL. There are now 2 experimental EGL backends;
|
|
- 'eglx', the former EGL on X11 implementation (now renamed)
|
|
- 'eglnative', a new EGL 'native' backend which supporting non
|
|
X11 EGL implementations (i.e framebuffer).
|
|
|
|
o ClutterGroup now returns correct size when a child is removed.
|
|
|
|
o Missing redhand.png added to distro tarball (fixing tests that require
|
|
it)
|
|
|
|
o Fix picking in ClutterBox
|
|
|
|
o Rectangle border creation fixed.
|
|
|
|
o Fix overflow in Exponential Alpha funcs.
|
|
|
|
o Many API documentation fixes and improvements.
|
|
|
|
o ClutterEffect cleanups.
|
|
|
|
o ClutterEntry cleanups.
|
|
|
|
o Check for versioned XFixes library (GLX backend).
|
|
|
|
o More X error traps in GLX backend.
|
|
|
|
Clutter 0.3 (29/06/2007)
|
|
========================
|
|
|
|
* List of changes between 0.2.3 and 0.3
|
|
o Clutter now supports both switchable windowing system and GL backends.
|
|
Window systems supported include GLX, EGL and SDL.
|
|
|
|
GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
|
|
provided by a small basic abstraction layer 'cogl.h'. Cogl is not
|
|
yet documented - usage external to Clutter is not yet advised.
|
|
|
|
Backends may provide specific command line options.
|
|
|
|
Notes;
|
|
|
|
GLX
|
|
---
|
|
The GLX backend is built by default and is currently the most
|
|
developed, supported and featured windowing system backend. Only
|
|
OpenGL is supported via GLX.
|
|
|
|
SDL
|
|
---
|
|
Clutter has experimental support for using SDL. Open GL is supported as
|
|
is OpenGL ES via Dogles (very experimental).
|
|
|
|
EGL
|
|
---
|
|
Clutter has experimental support for using EGL. Only Open GL ES
|
|
is supported by EGL.
|
|
|
|
EGL support assumes an EGL implementation running atop X Windows.
|
|
|
|
Open GL ES.
|
|
-----------
|
|
|
|
Clutter now has experimental support for Open GL ES.
|
|
Current known issues;
|
|
|
|
+ Unrealising a ClutterTexture will not move pixel data from video
|
|
into system memory but simply destroy it.
|
|
+ BGRA, YUV Texture data not currently supported.
|
|
|
|
(Use the clutter_feature API to probe for above at runtime)
|
|
|
|
Open Source ES implementations this has been tested against
|
|
include `Vincent' and `dgles'. Support for commerical
|
|
implementations may require modifications to the configure.ac
|
|
script.
|
|
|
|
vincent: http://ogl-es.sourceforge.net/
|
|
(Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
|
|
|
|
dgles: http://developer.hybrid.fi/dgles/index.html
|
|
|
|
o New ClutterEffect class provides a simplified (and thus less flexible)
|
|
API wrapping around behaviours, alphas and timelines.
|
|
o New Behaviours - bspline, ellipsis, rotation.
|
|
o New built in Alpha functions;
|
|
CLUTTER_ALPHA_SINE_INC
|
|
CLUTTER_ALPHA_SINE_DEC
|
|
CLUTTER_ALPHA_SINE_HALF
|
|
CLUTTER_ALPHA_SQUARE
|
|
CLUTTER_ALPHA_SMOOTHSTEP_INC
|
|
CLUTTER_ALPHA_SMOOTHSTEP_DEC
|
|
CLUTTER_ALPHA_EXP_INC
|
|
CLUTTER_ALPHA_EXP_DEC
|
|
o New Actors and interfaces
|
|
+ ClutterLayout, for writing extended layout support in actors
|
|
+ ClutterContainer, for generic container actors
|
|
+ ClutterBox, ClutterVBox and ClutterHBox layout actors.
|
|
+ ClutterEntry, text entry actor
|
|
o ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
|
|
o All internal math now fixed point based.
|
|
o Clutter now has it own internal event queue.
|
|
o ClutterStage new features;
|
|
+ Title property for naming in window decorations.
|
|
+ Perspective setting - The stages perspective can now be modified.
|
|
o New Clutter_actor *project API calls allow for querying of tranformed
|
|
actor vertices and points.
|
|
o New Clutter Feature checks.
|
|
o Initial ClutterUnit implementation for device independant positioning.
|
|
* List of Bugs fixed
|
|
o Various issues with very poor performance and Intel drivers.
|
|
o #138 Fix typo in x rotation transform.
|
|
|
|
Clutter 0.2.3 (2007-04-11)
|
|
==========================
|
|
|
|
* List of changed between 0.2.2 and 0.2.3
|
|
o Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
|
|
o Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
|
|
|
|
Clutter 0.2.2 (2007-03-22)
|
|
==========================
|
|
|
|
* List of changed between 0.2.1 and 0.2.2
|
|
o Addition of basic XEMBED support for clutter stage. [Matthew]
|
|
o Fixes to clutter_texture_get_pixbuf(). [Matthew]
|
|
o Export clutter_group_remove_all and add associated fixes. [Matthew]
|
|
|
|
Clutter 0.2.1 (2007-02-07)
|
|
==========================
|
|
|
|
* List of changed between 0.2.0 and 0.2.1
|
|
o Add even faster double to integer (and back) conversion
|
|
functions. [Tomas]
|
|
o Fix some errors in the fixed point sine waveform
|
|
function. [Tomas]
|
|
o Use fixed point math in the Pango renderer. [Tomas]
|
|
o Improve the GL version check. [Matthew]
|
|
o Add a square waveform function. [Emmanuele]
|
|
* List of bugs fixed
|
|
o #215 - macro CLUTTER_MARK() not disabled for non-debug builds
|
|
|
|
Clutter 0.2 (18-01-2007)
|
|
========================
|
|
|
|
* List of changes between 0.2 and 0.1
|
|
o Bindings, GStreamer and GTK+ dependencies moved out of tree:
|
|
now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
|
|
o Actors now have an initial floating reference; this means you
|
|
don't have to explicitely unref them: every memory an actor
|
|
allocates will be freed when the group containing the actor will
|
|
be destroyed.
|
|
o Add basic run-time detection of GL features.
|
|
+ Use GL_TEXTURE_RECTANGLE_ARB if available.
|
|
+ Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
|
|
o Add API for behaviours. A ClutterBehaviour is an object which
|
|
drives a set of actors using one or more properties depending
|
|
on the value of an "alpha" function.
|
|
+ Provide simple behaviours: ClutterBehaviourOpacity,
|
|
ClutterBehaviourPath and ClutterBehaviourScale.
|
|
+ Provide simple alpha functions for ramps and sine waveforms.
|
|
o Add fixed point API for embedded platforms with no FPU.
|
|
o Add support for command line switches to Clutter, like debug
|
|
flags and abort on warnings; also allow application to hook up
|
|
into the initialisation sequence to add their own command line
|
|
switches.
|
|
o Add Pango GL renderer for Clutter, and use it to render text
|
|
inside the ClutterLabel actor; this decrease texture memory
|
|
usage.
|
|
o Redo Clutter Label widget, using the new Pango renderer.
|
|
o Clutter Textures do not store local pixbuf copy (of texture).
|
|
o Redo group and actor scale/sizing API and functionality.
|
|
o Add memory management API for ClutterColor, and string parsing.
|
|
* List of bug fixed
|
|
o #199 - Little group handling fix?
|
|
o #198 - Detect NPOT support on more systems
|
|
o #197 - Tiled textures are broken
|
|
o #196 - Rebuild the examples when the library changes
|
|
o #156 - clutter_actor_set_position not using the absolute size
|
|
o #155 - Don't test for XInitThreads [Bastien Nocera]
|
|
o #154 - Key presses not working in super-oh example [Bastien Nocera]
|
|
o #152 - Misc fixes [Bastien Nocera]
|
|
o #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
|
|
o #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
|
|
o #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
|
|
o #98 - Enabling trails in super-oh crashes
|
|
|
|
Clutter 0.1 (22/06/2006)
|
|
========================
|
|
|
|
* First 'official' release, expect bugs aplenty.
|
|
* Contains:
|
|
o Hopefully enough functionality to build things.
|
|
o Basic gstreamer 0.10 video playback support.
|
|
o Fairly stable API, though in no way totally stable.
|
|
Expect CHANGES in future versions.
|
|
o Some simple examples ( also see OPT ).
|
|
o An experimental GTK-Clutter widget.
|
|
o Fairly complete Python bindings.
|
|
o Non complete but hopefully useful API documentation.
|
|
* If you want to help out see the TODO file.
|