What is it?
Selvage is an in-browser collaborative SVG editor inspired by Inkscape. (However, it is not affiliated with Inkscape or the Inkscape foundation.) You can create an SVG image in-browser and collaborate with the users who are on the same page. For now, only Firefox is supported.
It is implemented client-side using the Javascript and the <svg> element, and server-side using Python and Tornado. Client-server communication uses Websockets.
Warning: This is alpha software. All drawings created now may be lost, many features are unpolished or missing.
Features
- Basic SVG creation works.
- Events are propagated between the clients so you can collaborate.
- A lot of (fully working) keyboard shortcuts, including:
- Left, Right, Up, Down to move objects;
- + / - (zoom);
- ^A (select all); ! (invert selection);
- ^D (duplicate);
- ^G and Ctrl+Shift+G (group, ungroup);
- H, V (flip selection horizontally/vertically).
- Z-axis support.
- Rotations, scale, skew.
- Bezier curves tracing and edition.
- Hand curves tracing.
- Rectangles, ellipses.
- Stars and polygons.
- Text support.
- Multiple selection.
- Full zoom/unzoom/pan/move with mousewheel.
- Drawings are stored in files by the server and should survive restarts (experimental).
- Experimental gradient support with unpolished UI.
Known bugs and TODOs
Support for other rendering engines (such as Webkit) is planned. Note that control+mousewheel zoom will not be supported under Chrome until their bug 111059 is fixed.
Bugs regarding the features from the above list and under Firefox should be reported on the bug tracker.
My plans for the next features are indicated on notes_todo.txt for my priorities, and the code is available on gitorious. Suggestions and/or pull requests are welcome.
Marc Jeanmougin