it would be nice to have features like obejct shadows, round corners and square gradient in Sodipodi. I think those are the things I am missing in it and other users would appreciate as well. If you need some SVG code examples, I'll e-mail it to you.
If you want to add new features, think about layers a la gimp. Sketch uses them and it's very convenient.
- In a vector drawing program, what would be the actual difference between a "layer" and a "group"? -- kaj
Ease of use mostly. If you have a complicated drawing, layers are very usefull to organize your work, move them up or down, make them invisible, apply layer transformations, etcetera. Groups could be used in theory to make a Gimp-like layer toolbox, but its not very practical.
If, for example, you have an image with layers and want to save it to SVG, you just export it whilst flattening the layers, just like you export a PNG from the Gimp today.
I'm I alone in thinking that a Vectorbased drawing program, with the interface built like the Gimp 1.3 series, would be very wanted and usefull? Similar to how Adobe's Photoshop and Illustrator have a similar GUI concept? -- anonymous
- I disagree... all they need is a little widget that shows all the groups as a tree of layers. And if you group, two groups, : you'd create a new layer, with the two original groups/layers as a child of the new layer....
- voila, best of all worlds.
This behaviour of hierarchycal tree of objects, calling the highest hierarchycal level the 'layers' level, and the other hierarchical levels called 'groups' or 'subgroups'. It would be good some layer/group operations like changing the visibility of the hole layer/group, being capable of selecting on subelement, working with the hole layer or with a group or with an element. With all these behaviour and a hierarchical tree to work with it, it would resemble the Adobe Illustrator object model that (I think) is the most powerfull and flexible one.
I asked a very similar question about why use layers to the Dia project and here is one of the responses
The ability to be able to easily hide, move and remove layers is certainly a factor that could be mitigated by a more powerful tree view of the document but at the very least there are users who find it convenient so no vector program should remove Layers without adding a bettter alternative
"Outline" mode. "Draft" mode. "X-Ray" mode. You know what I'm talking about. The mode where only the edges of the paths are drawn, stroked at constant width. Turn it off, and you have everything visible normally again.
I've seen this in Adobe Illustrator (Ctrl+Y), Sketch, Corel Draw!, even the good ole 1991 vintage Arts & Letters.
I think this is pretty important because I love to work with lots of overlapping, same-or-nearly-same-color objects that don't have strike at all. Would make drawing easier...
Some little ideas that I haven't had time to fully spec yet, but I don't want to forget...
- Text tool can optionally draw (with click and drag, as opposed to just click) a text box of defined dimensions, into which text is flowed automatically.
- Cursor icons for Pen, Pencil and Calligraphy tools
- Visual cues for Pen tool cursor in append mode, and other modes (i.e., +, -, ^, etc.)
- Terminiate continuous draw mode when a path is closed in append mode
Björn writes: 1.) _Pressure sensitivity_
- Everybody else got it (Xara, Illustrator, even Gimp) and it is almost necessary for professional drawing.
Export .eps. Enough said.
Plan for fill&stroke:
- remove "get from dropper" (always on, via SetColorSignal) (DONE, no signal necessary, just picks new color from selection)
- remove "mode", make global preference "Store colors as rgb/cmyk" (DONE, it's not about storing color actually, so just removed)
- remove redundant color picker selector (DONE)
- transientize, remember size&position, remove Close in the color selector window from Doc props; find if there are others like it (DONE)
- Make evenodd switch a pair of toggle buttons inside colorselector (DONE)
- remove "apply to"; make all shapes use current color, but on prefs page for each tool, make a switch between "use current" (default on for shapes) or "use its own style" (default on for pens & text), plus a button "take style from the selection". (DONE)
- enable partial color settings (bug http://sourceforge.net/tracker/index.php?func=detail&aid=937393&group_id=93438&atid=604306; actually that will be a separate "adjust colors" dialog)
- add master opacity from object props (DONE)
Provide a UI mechanism where one can cycle through just those object intersected by a pick point. That is, in a large, heavily overlapping graphic, you could point at the thing you want (even though it's behind three or four other things) and quickly choose that object, either from a menu, or by some form of constrained "tab-key" operation.
DONE with Alt+click
How about a better way to parse the xml code? The files are way bigger than they need to be, and it would be nice if there was an option to tidy up the code upon saving.
-- use svgz or plain svg, or both
In selector top panel, make a frame titled "Transform" and covering 4 toggle buttons: stroke (works), rounded rect corner (works), gradient, pattern (need to fix for paths stored-optimized, then add optional compensation in item_write_transform; first to fix the wrong patternTransform application)
Textboxes (multiple shapes, and text-box linking to make the text-flow) DONE
auto "add" new gradient when switching an object to gradient in fill&stroke, instead of reusing the last one used
3. Is item visibility supported? I see the checkbox in Item Properties but it appears to always be disabled. However, even if it did work, having to open up and mouse over to extra dialogs is very time consuming. When working with complex images in Illustrator I am all the time flipping visibility and sensitivity on/off and it's a quick process because you can toggle it directly from the layer view. It would be nice if the XML viewer had a check-box or something right next to each item for quick visibility and sensitivity changes (see how Layers work in The Gimp, Illustrator, and Photoshop).
There are still many artists who use very old versions of Illustrator and Corel Draw so as to get the very most out of cheap hardware and hopefully that is a market that Inkscape can soon grab. Jasc Web Draw is adequate but if Inkscape can provide a consumer friendly user interface it will serve as a big kick in the Pants for Jasc and hopefully force them to improve their low budget Vector Graphics toy.
when creating a new object, it should have the same attributes as the last I mean: drawind shapes, if I set one to stroke and fill of a certin kind, each after that should start with the same until I change it. a palette would be nice, but this is a little different. if I draw a rect, then set it to blue, 1px black stroke, then draw another, it should be blue, 1px black stroke these are not settings that are save from session to session, just while working. small detail, but it'd make things much easier. in minimum it should behave differently for shapes/text You definitely do not want text to appear colored/filled by default
Apply transform function is something I'd really like to see.
-- doable by switching to "store transforms: optimized"
Not sure where this goes, but when I have some text, why does all the text in the frame have to have the same attributes? What if I want to have some letters a different color? There is apparantly no way to highlight text
(DONE) A "New"/"Change" label in all drawing tool toolbars changing depending on whether you have an object of the corresponding type selected
Store/guess export filenames for objects; an attribute of spitem, inkscape:export-as=, settable when exports selection and selection contains only one item; fill it in in the dialog; when not set, guess it from prev/next siblings by in/decrementing their filenames' numeric parts (DONE except for guessing, which is likely to be confusing).
(DONE) Implement "select under" by ctrl-alt-clicking in selector: Stay in one place and ctrl-alt-click repeatedly watching the statusbar that shows what is selected, it will cycle through the entire stack of objects _at this point_ (not all objects in the document).
better gradient editor: ideally arbitrary stops, one color widget that switches to the selected stop (DONE)
When opening a file from an empty unchanged document, replace it with the opened one instead of opening a new window (DONE)
Write a function to compare two reprs' positions regardless of their parents, by scanning the entire tree (unless they have the same parent, in which case the sp_repr_compare_position() is used) and declaring the one that is run across first to be the lower in z-order. Use it whenever z-order matters (splivarot now has such a function in boolean_op, rather ugly but works).
Then make a function next-overlapping and prev-overlapping which finds only overlapping objects; use them in raise/lower commands so that the selection cycles through only the objects that overlap it, not all the objects of the document as now (this presently makes lower/raise almost unusable in large documents). (DONE)
Would it be feasible to have the # key toggle both the grid visibility and grid snapping at the same time? (DONE)
Make 1) rubberband 2) eventually all drags scroll window when moved beyond edge. Common function to do that? (DONE)
paste in cursor location instead of the original; a separate command for paste-where-it's-from (DONE)
remove "clear all", provide "deselect" in edit menu instead (DONE)
8. Besides the grouping, visibility, and sensitivity stuff I'd like to have a "path simplify" command. In Illustrator that takes a path and removes redundant nodes within certain curve and angle tolerance.
- Done, although needs more work
10. Faster zoom features. I wish I could hit "zoom-out" 3 or 4 times and not have it redraw each time. Or maybe have a saved zoom factor or something that I can toggle. I like to zoom in and out a lot to look at things so I want it to be really fast.
- Now zoom increment is settable in prefs, and there's a history of zooms; it does not redraw when zooms come in quick succession
12. The pencil tool (freehand draw) seems to create a lot more nodes than Illustrator does. Illustrator must use a curve fitting algorithm or something because it doesn't use as many nodes to create the path but it still fits what you draw. Maybe it just uses a difference tolerance, I don't know.
- Now the fitting tolerance is settable in prefs, and is higher by default
maybe_done must catch selection_change and zero its key, so that subsequent same-dir arrow-key movements of different objects are not lumped into one undo step
display font name in the statusbar description of text object
When more than one group (and possibly some non-groups) are selected, "ungroup" must ungroup all groups in the selection
The below is in regards to Sodipodi 0.32:
1. Is there any way to select individual items from a group? I know you can open the XML viewer and select items but when you have 100's or 1000's of items in a group this is extremely annoying and time consuming compared to just clicking on the item in the artboard (otherwise I usually can't even find the item buried in the XML list).
5. When selecting multiple items (holding down shift on the keyboard) sometimes it loses the whole selection. I have no idea what causes this, it may have to do with trying to click an item and "missing". Or it might have something to do with accidentally dragging a bit while selecting. Anyway, it is extremely annoying to carefully select 20 or 100 items and then it happens and boom, you've lost the entire selection and have to start over again.
- drag tolerance took care of it --bb
6. The "dragging" effect on nodes makes it nearly impossible to use a tablet with Sodipodi and hard to use a mouse when working quickly. Usually when creating a path I will quickly rough out the shape and I just want normal straight, non-curved lines. So I want to click, click, click, click and make the path. The problem is that if you even drag 1 pixel it creates a curve or other strange things that I'll then have to go back and correct. Instead of moving quickly I have to stop at each new point,
click carefully, then move the mouse to the next point. When using a tablet it's pretty much impossible to click without moving the pointer at all so this causes all kinds of problems (and not when just creating new paths).
- drag tolerance took care of it --bb
I commend the inkscape team for picking the excelent language of C++ for development.
I sencerly hope that they use the language to its full potential by using the STL, inheritance and the other fine features that makes C++ a fine language to use. Otherwise it is a waste of time.
Remember, OOP is frustrating and takes a huge amount of time to do right, but when it is done the product is clean, extensible and almost devoid of bugs. Not that its impossible or even overy difficult to make an object oriented program in C, but using C++ with its built in support for virtual functions, protected functions and the like is a step in the right direction.
Well done! Make Bjarne proud!
a knot must pass keyboard events it doesn't process to parent, so esc-deselecting works when mouse is over a resize handle
This is in regards to Sodipodi 0.32:
How can one add nodes to a path? There's a button (the one with '+') but it adds a node in the middle of a segment. However, most of the time I want to add a new node AFTER the last node!
Current behaviour: O - - - - - - - - - - - O ===> O - - - - - O - - - - - O
What I want to have: O - - - - - - - - - - - O ===> O - - - - - - - - - - - O - - - - - - O
- While in pen or pencil tool, press CTRL+A to toggle append/add
- In Append mode currently selected path has miniature 'anchors',
- that turn red if mouse is over them. Starting new line, while
- anchor is highlighted appends new line to the old (i.e. you can
- add as many points as you like using pen tool).
- In node edit you can press ctrl-d on a node to duplicate it.
Also, in the same spirit, how do you easily join two paths? I mean, say you have 2 separate segments, and you want to change them into one triangle. How do you do that? Currently, I have to "compound" them, select a end node of each path, and click the "-" button; but then, they merge into a middle point. This would'nt be so much of a problem if it was easier to add a point to a path!
- I think latest CVS version has 'join with line' option in
- node toolbox.
- Also combining segments (combine tool), and using either pen or
- pencil in 'append' mode allows you to connect existing
- segments from anchors.
-- Nicolas MONNET
First - good name. Does name matter? Yes, if it is to be widely accepted it must sound professional and Inkscape sounds professional.
Second - good move to clean up code and standardize and C++ is a good, widely accepted language (ie every programmer knows it)
Third - please clean up the menus - I tried to use Sodipodi and the menus were very hard to use.
Fourth - the export to rasters like png are a very needed item.
Thanks for your efforts.
7. Sodipodi seems to crash a good bit. I get afraid to use certain operations. For most normal work (when just working with nodes and paths) it seems very stable but when I start combining paths, importing files, and dragging stuff around in the XML viewer it doesn't take long before the crash happens. It's usually not a crash that brings up the crash dialog. It's the kind where you blink and Sodipodi is just gone. I have also had it crash when I accidentally randomly and quickly click 3 or 4 times on the artboard while drawing. Actually, just doing anything randomly or quickly seems to make it crash (zooming in/out, clicking lots of buttons and hotheys). Sorry I can't be more specific, I'll try to follow more closely what's going on when it crashes.
I also found the menus particularly hard to use.
I find the whole concept of a "dialogs" menu to be extremely abberent and a rather useless nonsense grouping about as much use as dumping them under "miscellanous". There is also a whole lot of functionality in the Toolbox and various dialogs that I expected to find as a menu item but did not which rather threw me for a curve ball.
I'd like the menus to be at least similar to Adobe Illustrator so that I any learning I do can be reapplied and put on my CV as a skill that managment types will recognise rather than give me funny looks for (the GIMP is still not a funny name, it is just embarassing).
I cant wait to see Sodipodi and Inkscape compete and improve each other.
Sodipodi is very nice, although I have a huge dislike for the interface - while original, it feels very "cludgy" to use. I would love to see a gimp-1.3 inspired interface (1.2 wasn't very nice with it's window juggling but 1.3 has a much nicer drag and drop way of organising & grouping the windows you use more often). With a ui overhaul Sodipodi/Inkscape could be very, very nice.
BTW, is there already some good user-documentation for Sodipodi/Inkscape? Because as a user, I don't mind how bad the code is and how much dead code there is, all I need is a manual to learn that other 90% of the app. With a manual I can really *use* the program, find bugs, and file bugreports....