How to contribute to GEGL
-------------------------

This isn't really a roadmap, it is more of a list of signs pointing in
the right direction.

There are various tracks that can be followed to improve the future of
GEGL in GIMP, many of these things, at least on the GEGL side are
covered by bugs in bugzilla, properly git formatted patches addressing
these issues are most welcome contributions. Doing things on this list
would help speed up the arrival of the next and more powerful generation
of GIMP.

Allow GEGL to run untrusted ops out-of process - ensuring that badly
behaved ops will not bring GIMP/GEGL down.

Implement previews working on mipmap levels, allowing GEGL to do a
preview at 12.5%, 25% or 50% of actual size - rendering the full size
view in the background or on demand.

Allow GEGL to connect any property of ops as inputs/outputs in the
graph, the infrastructure to do so is mostly already in place, but not
properly exposed. For some uses, in particular for exposing more
powerful meta-ops this would be very nice.

Improve the gparamspec vocabulary used to describe properties of of ops,
providing more semantics for better auto-created user interfaces.

Port GIMP plug-ins to GEGL ops
------------------------------

Writing GEGL ops is simpler than writing GIMP plug-ins, plug-ins can
support higher bit depth in the future. Floating point code is easier to
write, less code is needed. You can get auto generated UI.
Writing more GIMP legacy plug-ins only increases the future porting
work-load/leaves the new plug-in outdated, so please write new code as
GEGL plug-ins. Even after a couple of gsocs, there is still unported
such.

GIMP currently has many file loaders/savers that would be good to have
in GEGL.

Improve GEGL documentation
--------------------------
the GEGL website is generated as part of the GEGL build, patches to the
documentation that fully integrates the changes also with the website
are welcome. Documentation for the structure of GEGL and its internal
architecture is also welcome.


Use GEGL in other places than GIMP

Command-line tools for doing batch processing, UIs for compositing or
image manipulation, video effects rendering and more are all things that
are possible to implement with GEGL, that would end up sharing their
available ops among each other.

to provide incentive for yourself and others to work on the above
points. GEGL is designed to be a generically usable API and does not
cater especially for GIMP.

The pluggable GeglBuffers of GEGL permit other tiled buffer systems
(krita, mypaint?, a future blender?, a plug-in for GIMP 1.x,
OpenStreetMap?) to efficiently reuse GEGL operations as plug-ins without
unnecessary buffer copying.
