Source Directory Structure

From Inkscape Wiki
Revision as of 14:43, 29 March 2018 by Tavmjong (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Proposed directory structure for Inkscape's source code.

  • src
    • 2geom Geometry (move to library)
    • display (Rename 'render'?)
      • render Render SVG (if 'display' -> 'render', rename svg?)
        • filters Render filters
      • control UI controls (layered above SVG)
      • util
    • extension
      • dbus
      • internal (move to io)
      • plugins
      • etc.
    • io Reading/writing files
    • libraries (move parallel to 'src'?, rename 3rd party?)
      • libavoid
      • libcola
      • libcroco
      • libdepixelize
      • potrace
      • etc.
    • manipulation Manipulation of SVG (divide into generic and UI dependent?)
      • chemistry
      • live-effects
      • misc
      • selection
      • snap
      • verbs Verbs and SPActions
    • object Object tree (e.g. SPRect)
      • containers (e.g. group)
      • shapes (e.g. rect)
      • filters
      • etc.
    • ui
      • cache
      • dialog Dialogs
      • menu Menus
      • toolbar Toolbars
      • tool Move to Manipulator
      • tools Tools
      • view  ?
      • widget
        • action Actions (GTK or GIO)
        • basic Basic custom widgets (e.g. ink-combobox-entry)
        • composite Composite widgets (e.g. simple-filter-modifier)
        • derived (name?)
          • attribute Widgets that change attributes
          • property Widgets that change properties
          • preference Widgets that change preferences
      • onscreen (knots)
    • util (Merge helper & util)
      • numeric
      • color
      • svg
    • xml XML manipulation (Mostly SVG/Inkscape agnostic)

Already exists.

A more radical suggestion: Source Directory Structure Screaming Architecture