Jakub Steiner wrote:
Until yesterday I haven't had a chance to play with what you call effects. Because I believe this is a misleading terminology I want to propose an alternative:
I agree we need some terminology to use for these features. Everyday I try to figure out how what I should call these things when talking to people with problems. Your suggestion is great because it looks at extensions from the users point of view. Currently we concentrate on implementation details when we talk about extensions. But for troubleshooting, implementation is very important. So I think we will need some words for that too.
You will notice that extensions already appear in the menus where they would be expected. Input extensions appear in the file open dialog. Likewise output extensions appear in the save dialog. Filter extensions, those that change the svg document inside of Inkscape, appear in the Effects menu. Your terminology is so far only concerned with filter extensions.
Depending on the implementation, each extension will also be one of External, Internal, and Plugin.
External extensions are often called scripts now, but can be written in any language, compiled or not. They are loosely coupled with inkscape and not able to make use of Inkscape's features. External extensions allow inkscape to use any program that can operate on svg from the command line even if it wasn't written especially for Inkscape's use, eg. commercial file conversion packages. External extensions are probably most appropriate for what you have called Scripts and Filters.
Internal extensions do not exist yet. They will be most analogous to what other programs like GIMP call scripts. They will use embedded interpreters. Because they will be more closely coupled with Inkscape they may be able to call some of Inkscapes features, eg boolean ops, or even External extensions.
Plugins are written in C++ and are the most closely coupled with Inkscape. For performance reasons this is probably the only implementation that is appropriate for what you call Effects.
We are quickly running out of words and there is some very confusing overlap between your description and the current description of implementation.
Thanks for bringing this up. Aaron Spike