Difference between revisions of "Source Directory Structure"
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
*src | *src | ||
**2geom<sup>†</sup>: Geometry (move to library) | **2geom<sup>†</sup>: Geometry (move to library) | ||
**actions: GActions, SPActions, Verbs (GActions to replace SPActions and Verbs) | **actions: GActions, SPActions, Verbs, chemistry (GActions to replace SPActions and Verbs) | ||
***selection | |||
**display<sup>†</sup>: (Rename 'render'?) | **display<sup>†</sup>: (Rename 'render'?) | ||
***drawing: Render SVG (DrawingItem and derived classes) | ***drawing: Render SVG (DrawingItem and derived classes) | ||
****filters: Render filters | ****filters: Render filters | ||
***canvas: UI controls (CanvasItem and derived classes) | ***canvas: UI controls (CanvasItem and derived classes) | ||
***common | ***<strike>common</strike> | ||
**extension<sup>†</sup> | **extension<sup>†</sup> | ||
***dbus<sup>†</sup> | ***dbus<sup>†</sup> | ||
Line 18: | Line 19: | ||
***etc. | ***etc. | ||
**io<sup>†</sup>: Reading/writing files | **io<sup>†</sup>: Reading/writing files | ||
*** svg | |||
**libraries: (move parallel to 'src', rename 3rd party?) | **libraries: (move parallel to 'src', rename 3rd party?) | ||
***libavoid | *** adaptagrams | ||
***libcola | ****libavoid | ||
****libcola | |||
****libvpsc | |||
***libcroco | ***libcroco | ||
***libdepixelize | ***libdepixelize | ||
***potrace | ***potrace | ||
***etc. | ***etc. | ||
**live-effects | |||
**object<sup>†</sup>: Object tree (e.g. SPRect) | **object<sup>†</sup>: Object tree (e.g. SPRect) | ||
***containers: (e.g. group) | ***containers: (e.g. group) | ||
Line 40: | Line 39: | ||
***dialog<sup>†</sup>: Dialogs | ***dialog<sup>†</sup>: Dialogs | ||
***menu: Menus | ***menu: Menus | ||
***snap | |||
***toolbar: Toolbars | ***toolbar: Toolbars | ||
***tool<sup>†</sup>: Move to Manipulator | ***tool<sup>†</sup>: Move to Manipulator |
Revision as of 15:16, 28 April 2018
Proposed directory structure for Inkscape's source code.
- src
- 2geom†: Geometry (move to library)
- actions: GActions, SPActions, Verbs, chemistry (GActions to replace SPActions and Verbs)
- selection
- display†: (Rename 'render'?)
- drawing: Render SVG (DrawingItem and derived classes)
- filters: Render filters
- canvas: UI controls (CanvasItem and derived classes)
common
- drawing: Render SVG (DrawingItem and derived classes)
- extension†
- dbus†
- internal†: (move to io)
- plugins†
- etc.
- io†: Reading/writing files
- svg
- libraries: (move parallel to 'src', rename 3rd party?)
- adaptagrams
- libavoid
- libcola
- libvpsc
- libcroco
- libdepixelize
- potrace
- etc.
- adaptagrams
- live-effects
- object†: Object tree (e.g. SPRect)
- containers: (e.g. group)
- shapes: (e.g. rect)
- filters†
- etc.
- ui†
- cache†
- dialog†: Dialogs
- menu: Menus
- snap
- toolbar: Toolbars
- tool†: Move to Manipulator
- tools: Tools
- view† ?
- widget†
- 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