I think I'm pretty close to a working patch for adding a node on click. Thus far all the difficult code I needed was already in the codebase somewhere. bbyak got me started; cyreve helped me find things (both much more patiently than necessary). I currently have this: on clicking a path I can calculate the segment to break and t along that segment. The segment is represented by the index of the node on the far side of the segment. First node is 0. When I hook up code to add the node to nodepath the new segment ends up in strange places. I think I need help understanding how to work with a nodepath. The patch in its current broken state can be found at http://www.ekips.org/comp/inkscape/inx/nodeadd.diff. I'm sure there are a bunch of C++ problems to clean up and redesigns necessary before it is ready to commit and I'm ready for that but right now I'm just frustrated with not understanding why the nodes go where they do.
Aaron Spike