bulia byak wrote:
On 9/28/05, aaron@...749... <aaron@...749...> wrote:
I have done a minimal amount of research into both subjects while working on effects. I've got one completed blend effect (interp.py) and one completed envelope type effect (summer's night). Envelope objects have been scoped out on the wiki http://wiki.inkscape.org/cgi-bin/wiki.pl?PerspectiveObject.
I wrote that. I'm still not happy that with this approach, we'll only be able to envelope paths (and not e.g. texts or rects without first converting to path), but I see no easy way to remove this limitation. Other than that, it should work fine and is (I think) not too difficult to implement. The problems with transforming/nodeediting objects within an envelope are there, but hey, for example Xara does not let you get into an envelope at all - you can only edit the objects inside by removing the envlope and then reapplying it. So I think this will work out nicely in the end.
For blends, the implementation will be similar: a <g> with two or more base paths as well as the phantom intermediate paths that are real from the SVG viewpoint but are not editable or even selectable from Inkscape viewpoint. These phantom paths are regenerated automatically, as each one remembers its two base paths and the interpolation parameter.
I read the Perspective Object wiki page a long time ago and had no clue whatsoever what it meant. But lately I've been thinking about how envelopes would be accomplished and trying to relate the task to what I know about dynamic offsets and stars. When I read through the wiki page a second time, it makes perfect sense. This is exactly how I would envision it working.
The problem with text is one of those places where we are actually running up against the limits of what the SVG spec will allow us to do. I think you would agree that a working implementation will be majorly useful even if it has some blemishes.
I'm afraid, however, that I don't know enough to be successful enough at the outset to keep motivated enough to actually finish either of these projects, because they seem to be rather large projects for my competency level and are code creation rather than tweaking what already exists.
This should not really be too difficult. I'll help you in any way I can. You can start with small steps and proceed gradually. Since your code will be limited to your own SPObject types, you won't risk breaking anything else :)
Would there be significant interest in gathering a few small teams of people to work on these features? Teams could consist of a couple of inexperienced coders like myself and one mentor who can assist in subdividing and prioritizing the task, and help out if we get stuck.
Yeah, I certainly volunteer :)
Great. Where do we start? I guess we must first agree on markup and make inkscape render it properly. I didn't find http://wiki.inkscape.org/cgi-bin/wiki.pl?AddSPObject terribly enlightening at first glance. If you can help me sort out a progression of manageable tasks, perhaps we can pick up additional help along the way. Shall we start a todo list on the wiki?
Aaron Spike