Source Directory Structure

From Inkscape Wiki
Revision as of 14:43, 29 March 2018 by Tavmjong (talk | contribs)
Jump to navigation Jump to search


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