Hi,
background: I want to model some room with rows of chairs, not necessarily along straight lines however. Furthermore, I want to be able to access each chair from python, in order to change appearance depending on status in a reservation system.
Thus, I have been looking into an "create objects along path" functionality, and found the pathscatter ("Generate from Path/Pattern along Path") extension, plus some "path effect" which I could not get to work and did not find any documentation on. I also had a lot of problems with the pathscatter extension, which I would like to discuss with you and possibly provide fixes for at least some of them. (I am an experienced programmer, in particular with python, but not very familiar with inkscapes code or even GUI yet.)
First, my impression was that the extension is slow (I think there's a lot of potential for improvements, since it looks like a straightforward but not very efficient python implementation) and not very well integrated into the GUI, which is probably a typical problem with scripted extensions (I have experience with Gimp's script-fu stuff). For instance: 1. The menu has no accelerators, which makes it inconvenient to start without using the mouse. 2. It has an apply and a close button, but the apply button does not close the dialog, although the only sensible (actually: possible) action after it is close, since it modifies the selection, and the dialog is modal. 3. The dialog is modal, but does not check whether its preconditions (two objects selected) are fulfilled, so you end up making settings, getting an error message on "apply", need to close, fix the selection, and re-open it again (suffering from 1 again). 4. Also, there does not seem to be any good documentation or even help within the program (for instance: icons, tooltips or "whats this" texts, ...); the best information I found was the python comments at the top of pathscatter.py, which should probably be at least put up on some wiki page.
Speaking of preconditions, it took me more than an hour to understand how to use the extension, simply because I tried it only with a rectangle as pattern. The results were incredibly... wrong. That's because the extension seems to work only with paths (that is - circles seem to work) - this could surely be improved either by a) allowing rectangles, which should be possible at least in the "snake" mode, or by b) automatically converting other objects into paths.
Actually, my plan would be to implement both a+b, since I then realized that with just b) (which is probably the easiest to implement) I have yet another problem: in the "repeated" mode, I am still getting only a single path as result, which contains several path components. For my use case, I really need separate objects, in order to be able to differently style the chairs.
I have some basic coding questions, which I will put into a separate posting.