← Back to team overview

jessyink-team team mailing list archive

Proof of concept...

 

Dear all,

the last few days I played with the prototype of a system that is a
possible future direction for JessyInk. The system incorporates some
features Egor proposed and a few changes that — after having worked on
JessyInk for some time — I thought might be beneficial for its future
development.

The main points I considered were:
*) The system should be modular and fairly easy to extend, even for
people outside the core team.

*) The user interface should be more appealing than what Inkscape can
currently offer through its extension mechanism.

*) JessyInk should be available and appealing for users of other SVG
editing programms as well.

The way I chose for the implementation was to incorporate the JavaScript
code throughout the document (especially in certain graphical elements)
instead of having it all sit in one script node.

The idea was that every module could have its icon, which contains the
bulk of the code provided by the module (in this way code duplication
should be avoided), and then provide any number of key bindings,
effects, views, modes and other things.

During the initialisation stage, JessyInk calls the init functions of
the modules and collects all the key bindings and other elements. The
rest is pretty much the same as before, just that the code for effects,
views and modes are provided by the modules.

Attached to this mail, you should find a first prototype. There are
three files, the JessyInk core module, an alert box module (which just
shows an alert box with the name of the object calling the function) and
a demo where all the parts are put together and wired up. To use the
prototype, copy the core module, the alert box module and the key
binding found in the alert box module into a new SVG file. Then copy one
of the keys (little rectangles with letters in it) from the alert box
module into the new file as well. You can change the letter to any
letter you like or copy the key to assign two key to the alert box
event. Once you have your keys, just group them with the key binding
object to assign them. Open in Firefox and see if it works :-)

Hope you'll have fun! Let me know what you think about it!

Cheers,
Hannes


Attachment: AlertBox.svg
Description: image/svg

Attachment: Demo.svg
Description: image/svg

Attachment: JessyInk.svg
Description: image/svg


Follow ups