More thoughts on this: CharacterNames could move into a text directory along with String, CString, etc. And CharsetEntry should probably move into a mac subdirectory of the text directory. I'm not sure that Movie.h should be in the graphics subdirectory. Maybe it and Sound could stay together; some day they might end up in a media directory, but as long as there are a small number of files it's probably not good to move them. Another important area of platform reorganization is to move the SVG implementation out of the platform directory, since it's part of the SVG code and not a separate platform. That's the stuff in graphics/svg. Also, moving the platform-specific code currently in the canvas implementation into graphics abstractions in the graphics directory in platform is a long-overdue change. I was working on this long ago, but dropped the work. There may be some useful ideas in the Android patch for canvas, although I don't think they took exactly the approach I think would be best. Ideally the graphics directory eventually has almost all the platform specifics so that both canvas and SVG can do almost everything through classes like GraphicsContext and friends. There are some advanced CSS features that we would probably add quickly if GraphicsContext had the right functions, factored out of the canvas implementation; gradients in backgrounds for example. -- Darin