summaryrefslogtreecommitdiffstats
path: root/devel-docs/gegl-porting-plan.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devel-docs/gegl-porting-plan.txt39
1 files changed, 39 insertions, 0 deletions
diff --git a/devel-docs/gegl-porting-plan.txt b/devel-docs/gegl-porting-plan.txt
new file mode 100644
index 0000000..cfc5220
--- /dev/null
+++ b/devel-docs/gegl-porting-plan.txt
@@ -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. ???