I have been reviewing and discussing his code all through the process, and in the last few days I have given it a final and extra-thorough review.
My opinion? this is _very_ ready for a merge into CVS HEAD. Of course there will be things to tweak, and the exposure to more webbrowsers will surely be interesting to see.
Also -- I think Mihai would be very deserving of CVS access. All through the reviews he has shown very good taste in his style and technical decisions, and can discuss tradeoffs in different approaches.
He can argue very clearly (and strongly ) for the options he favours, but can yield to other concerns and priorities.
He is still new to the PHP side of Moodle; much of the gsoc project was spent in JS-land. On the other hand, this brings a top-notch JS expert to the group -- with good understanding of what happens inside TinyMCE for example.
What does it do? On modern webbrowsers that support the HTML5 Canvas API, it provides a JS-based UI to "paint/edit/retouch" over an existing image, or on a new image. So TinyMCE has a new button.
"Upstream" project homepage
Docs on how it integrates with TinyMCE (and Moodle):
Git repository showing the well formatted (and commented!) commits for your reviewing pleasure:
Pretty diff -- click on the 'raw' link at the top to see a "real" patch.
There is only one thing that I am aware we might want to change during the merge. Paintweb has a makefile that controls the minifying of the JS (so editing/debugging happens of readable JS!). We may want to merge an already 'made' PW. Or change the scripts that build the release and nightly zipfiles to run 'make'.
(PW does run even if it's not yet "made". It loads the un-minified files, which is good for a hacking session, but very slow for production sites.)