devel-docs: Add gegl-porting-plan.txt

In order to effectively collaborate on this huge porting task, the
first step is to agree on exactly what we want to do.

In an effort to organize this, add gegl-porting-plan.txt to
devel-docs. In this document, we can describe how we want the port to
be done. This is not only for ourselves, but will also be useful for
non-core contributors.
This commit is contained in:
Martin Nordholts 2011-08-29 03:17:04 +02:00
parent 8e7484942a
commit 0f0bb336a8
3 changed files with 41 additions and 1 deletions

2
NEWS
View file

@ -34,7 +34,7 @@ Plug-ins:
Developer documentation:
- <item>
- Add devel-docs/gegl-porting-plan.txt
Source and build system:

View file

@ -30,6 +30,7 @@ EXTRA_DIST = \
includes.txt \
parasites.txt \
pat.txt \
gegl-porting-plan.txt \
gtkbuilder-porting-guide.txt \
release-howto.txt \
structure.xml \

View file

@ -0,0 +1,39 @@
GEGL Porting Plan
=================
This file describes a detailed plan for how we will integrate GEGL
into GIMP. Please update it with your own ideas and findings.
Porting GIMP to GEGL will be a multi-stage process. On a high level,
the stages are:
Stages:
=======
1. Implement GIMP's 8 bpc code with GEGL data structures
2. Gradually port GIMP's 8 bpc code to 32 bpc
3. Once the GIMP base layer (almost) only knows 32 bpc and GEGL, add
goodies like adjustment layers and layer effects on top
First stage:
------------
1. Kill Tile and TileManager
2. Change PixelRegion::tiles : TileManager * to PixelRegion::gegl_buffer : GeglBuffer *
3. Map PixelRegion::gegl_buffer of type RGBA float to PixelRegion::data of type RGBA u8
4. Implement functions like scale_region() with GEGL (for the
gegl_buffer case. For the data case, we can keep the old code)
5. ???
Second stage:
-------------
1. ???
Third stage:
------------
1. ???