summaryrefslogtreecommitdiff
path: root/ROADMAP
blob: b5a539f9174cbfa961ae5b074bb0a9cbf4d584dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
This is the cairo roadmap.

Everything here is subject to change, but it is hoped that all of it
will be useful. If you want to influence, please feel free to get
involved with cairo (see http://cairographics.org ).

The intent is for this to be a living document. We want both the users
of cairo, (GTK+, GNOME, Mozilla, Mono, etc. etc.) to let us know
features they need and dates by which they are needed so that we can
use those to guide our plans.

Additionally, people who are actively developing cairo itself should
regularly update this document to reflect their current plans. If you
don't want to see a particular release happen without some essential
feature, then put that feature on the list and put your name next to
it to indicate you are working on it.

Targets
=======
Firefox 3.0 - http://www.mozilla.org/projects/firefox/roadmap.html
------------------------------------------------------------------
Firefox 3 (scheduled for early 2007?) is the first release expected to
use cairo for all rendering. In the meantime, development builds using
cairo are available. Satisfying firefox 3 well requiring releasing a a
new version of cairo some months before the firefox 3 release data
with much-improved performance.

Gnome 2.18 - http://live.gnome.org/TwoPointSeventeen
----------------------------------------------------
Looks like early January would be a great time to get cairo 1.4 out.

Themes and Schedules
====================
cairo-1.4 (January 2006): Better performance
 ✓ New tessellator
 - New rasterization
 - Finer-grained fallbacks for PS/PDF

cairo 1.3.6
===========
 ✓ Bankers' rounding bug in _cairo_lround (https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217819)

cairo 1.4.0 ideas (think performance!)
======================================
✓ Implement framework for performance regression testing

 Investigate "low-hanging fruit" identified by David Turner (write test case for each)

 Look into speeding up pixman gradients

✓ Look into improving text positioning/placement on ARM (with no hardware floating-point)

 Look into speeding up dashing used for GTK+ focus rectangle

✓ Look into other GTK+ performance regressions as identified on performance-list

 xlib backend
     Switch to server-side gradients for xlib backend
     Fix X server to make server-side gradients faster
     Switch to using XRenderAddTraps rather than XRenderCompositeTrapezoids

 Implement a non-trapezoid based rasterizer for use with xlib and other backends

 Cull geometry outside clip region bounds

✓ New tessellator

 Look into using alloca instead of malloc when copying glyphs/path/etc to edit
 and use in one function and deallocate upon return.

 Look into generating EPS.  That may be done using a new constructor for the
 PS backend, or better, using an API similar to
 cairo_svg_surface_restrict_to_version.  The PDF backend needs a restrict_to
 API at some point too.

 Look into the glyph cache.  Moreover, make sure we are reusing scaled fonts
 enough.

 User-font API---a couple of threads of interest:
	http://lists.freedesktop.org/archives/cairo/2006-May/006893.html
	http://lists.freedesktop.org/archives/cairo/2006-May/006888.html

 Polling API (cairo_get_serial and cairo_changed)

 Bugs to fix
 -----------
   CAIRO_EXTEND_PAD is not implemented for surface patterns
  ✓CAIRO_FORMAT_RGB16_565 should be deprecated
   8379 infinite loop when stroking (see 8379 branch in cworth tree)

For other ideas that have been proposed for cairo but are not yet
scheduled on the roadmap of any particular release, please see the
TODO file next to this ROADMAP file.