On Sat, Mar 29, 2008 at 7:10 PM, Maximilian Albert <Anhalter42@...173...> wrote:
Just to be sure: You are proposing to use them only internally, right? We would still need a well-designed UI to make working with geometric constructions easy and powerful.
Of course. The UI for all LPEs is kinda being born right now. It's not like we have a rule to make all LPEs use exactly the same UI. Whatever makes most sense for each particular one.
It would be awkward IMHO if the user were obliged to choose a LPE from the menu each time (s)he wants to do such a construction. BTW, would it be possible to avoid displaying these new LPEs in the menu, since they would be accessible otherwise?
I'm not sure we'd want to really remove them from the LPE dialog. Maybe make the menu sectionalized and put them all into a section. Still, I'd like them to be there because this dialog offers a low-level view of an effect. Something like an XML editor for LPEs where nothing is hidden, but which by itself is rarely necessary thanks to all the on-canvas controls.
What I'm wondering is how "geometric points" would be represented with the LPE approach. For example, when constructing the parallel to a line which passes through a given point, it should be possible to specify this point by clicking on the canvas (and possibly dragging it afterwards). Would this point be an additional parameter to the LPE? It shouldn't be present as an *ordinary* SVG element because it's only a "virtual" kind of data. But it should be draggable, and the parallel should follow, similar to how resizing a linked offset works.
Of course. Think of it this way: of the data that defines such a line, one part has to be its "source path". It is natural to choose the point for that role. So, at the source level, we will have a path with one node and an LPE that uses a href to link to the path to which it is parallel. Two other params, editable by draggable knots, define the start/end of the line. Of course the user won't have to create such one-node path and then apply the LPE - all this will be done by a single command.
Could a LPE display such a handle and react on it being dragged? How many "input objects" can a LPE have anyway? I think Johan added some functionality in this area recently. Would it be possible, e.g., to have _two_ lines as input for a single LPE? Something like this would be needed for angle bisectors.
I think so - just two params linked to two paths.