On Sat, Nov 29, 2014 at 9:06 PM, Liam White <inkscapebrony@...400...> wrote:

> These are the things I've been digging into in the past few years:
> - What does SP stand for (took me a while to find that out)
> - What's the purpose of each of these classes: SPDocument, SPView, SPNamedView, SPCanvas
> - How does Inkscape handle multiple open documents and multiple views
> - Actions, Verbs, shortcuts, ...
> - How does inkscape go from parsing the XML file to storing the objects,
> - How are these objects displayed, modified, and saved again to XML
> - How are changes from the XML (editor) propagating to the objects, and vice versa
> - Where does the GUI hook into this?
> - What about filters, LPEs, ....
> - Rendering on screen, vs. rendering for printing, vs. rendering for exporting
> - Extensions, python/javascript API, DBus, command line interface
>
> I don't think we need very detailed information on all this stuff (although that would help too), but at least it should be authoritative, with useful pointers and references. Figuring out the details is not a problem.
>
> Diederik

To add to the discussion we had a month ago about the documentation of Inkscape's architecture, I've thought of some additional topics that would be very useful for both new and not-so-new devs:
- Tav's wrap-up of the units discussion
- Tav's recent blog post on planet.inkscape.org, although some of this is already documented in /docs I guess. I especially like this part: "what the heck is an ‘arenaitem’?"
- Some pointers to the use of affine transformations and homogeneous coordinates (not just in Inkscape, but for SVG in general). Just linking to the relevant Wikipedia pages is already a big step, e.g. http://en.wikipedia.org/wiki/Affine_transformation.

Regards,

Diederik