2 $URL: http://code.google.com/p/paintweb $
3 $Date: 2009-07-30 14:35:21 +0300 $
7 - Integrate into TinyMCE and Moodle.
8 - Color theme for the OLPC XO.
10 As quick as possible, after GSOC 2009:
12 - report browser bugs:
13 - when strokeText() is used shadows do not render (Webkit, needs recheck).
14 - elem.hasAttribute('data-whatever') fails to return true when it should do
15 so. The problem affects Webkit.
16 - outlines are drawn irrespective of z-index in Opera 9.6 and Opera 10.
17 - serious redraw issues with the color mixer when the colormixer_selector tab
18 panel has some width set. The problem affects Opera 9.6 and Opera 10.
19 - globalCompositeOperation + gradients renders mildly different in Google
20 Chrome 2 on Windows, compared to the other browsers. To see this, test the RGB
21 color space visualisation in the color mixer. I cannot reproduce the issue
22 with Google Chrome 3 on Linux.
23 - images cannot be selected in editable content, on Webkit - in some special
25 - images with data URL are considered external, and thus when drawn on Canvas
26 they cause security violations, in Webkit and Gecko 1.9.0 (fixed in 1.9.1).
28 - implement the GUI improvements suggested by Olli Savolainen.
29 - new tools: bucket, pencil v2 (avec pression).
30 - toolRegister creates instances of tool objects automatically.
31 - cleanup interface script from having hard-coded stuff related to tools.
32 - investigate the use of an iframe to hold the whole PaintWeb interface because
33 I can have style sandboxing and other advantages.
34 - allow integration by specifying a form input to replace.
35 - provide API to load language strings on demand.
36 - provide API to load configurations on demand.
37 - viewport resize handle.
38 - double-click on the tab bar to hide its content and only show a minimal list
40 - allow canvas resize on the right and at the bottom - not just the south-east
42 - allow single click on the image size, in the status bar to bring-up a panel
43 which shows the image dimensions, where the user can crop and resize the image.
44 - implement a GUI option to allow live changing of background color.
45 - flip and rotate image.
46 - some issues when middle/right clicking instead of simple left click on the
47 canvas, with some drawing tools.
48 - maybe selection rotate.
49 - maybe use .scale() and .translate() for selection manipulation.
50 - more per-tool settings. For example, do not share the lineWidth option between
52 - css 3 animations for the GUI.
53 - make the color mixer resizable.
54 - attempt color mixer code organization / code quality improvements.
55 - look into performance improvement specific to the color mixer.
56 - allow mousewheel scrolling on the color mixer slider.
57 - allow the user to focus the color mixer slider, to press up/down keys.
58 - allow the user to press Enter in the color mixer in an input to simply accept
60 - (maybe) allow the user to press Escape in an input from the color mixer to
61 close/cancel the color change.
62 - retest overall performance and see if more things can be improved. More
63 importantly, try initialization performance improvements.
64 - allow mousewheel scroll to increase/decrease the numeric value in an input of
66 - allow permanent color save in the color mixer.
67 - add a checkbox into the color mixer which allows the user to enable realtime
68 color changes, such that, without clicking accept, the user can test the new
69 color using some drawing tool.
70 - tab reordering and grouping.
72 Each and every item is doable pretty "easy", but it takes a lot of time to do
73 all of the above. Some of the items might get dropped. On request, I can
74 prioritize any item from the list during GSOC.
76 Further down the road:
78 * allow editing of multiple images in a single paintweb instance;
79 * hybrid undo system, not like now (storing ImageDatas);
80 * hybrid drawing: vectorial + bitmap drawing;
82 * non-destructive filters;
83 * color gradients and fill patterns;
84 * macros: look into the possibility of implementing a scripting API compatible
85 with that of Photoshop. Photoshop can run JavaScript. PaintWeb can run
86 JavaScript: just provide the same API. Obviously, PaintWeb could implement
87 only a subset, but it would be very good if this kind of work would be
90 That should be all for now. Huh, lots of work to do.
92 Volunteers are needed! Please contact me if you want to help. Thank you! ;)
95 vim:set spell spl=en fenc=utf-8 ff=unix: