If a canvas-based library is acceptable, I recommend Akihabara: http://www.kesiev.com/akihabara/
If a canvas-based library is acceptable, I recommend Akihabara: http://www.kesiev.com/akihabara/
CakeJS is a bit cleaner, it has a nice scene graph, but it's at a much lower level than Aki. There's none of the useful game basics like collision detection so you have to write those yourself. http://glimr.rubyforge.org/cake/canvas.html
Raphael is similar to Cake in scope but for SVG/VML instead of Canvas. http://raphaeljs.com/
Finally there's Processing.js, which is the javscript port of the Java library. http://processingjs.org/
Teamonkey and Akihabara. Thanks for the links.
CakeJS and Akihabara are both good enough for me. Also, CakeJS's Google Code page says that the author is looking for a maintainer.
http://github.com/kesiev/akihabara
Somehow, these days I feel like if an opensource project is on Github it seems to be active and the maintainer responsible enough. Don't know why I have this feeling, maybe it's just easier to look at the last commit date or fork it or just find another forker who's been working on it actively.
And if anyone's interested, I'm using the graphics from http://www.lostgarden.com/search/label/free%20game%20graphic... to prototype the game. This guy has some cool graphics to make prototypes look neat :)
P.S: Just tried Akihabara's demo game Legend of Sadness here: http://www.kesiev.com/akihabara/demo/game-tlol.html and it's super awesome. Suits my needs.
Not sure about svg, but you're right that canvas doesn't support that sort of thing natively. It's one of the main things canvas-based game engines encapsulate, though. While the canvas loses all your higher-level object information once you write it (it's just a bunch of pixels), the engines keep track of object locations separately, and then map clicks on canvas (x,y) coordinates to the objects that were clicked on, which can then trigger a callback (sometimes with some additional features supported beyond the direct click-to-object mapping).