Difference between revisions of "Source Directory Structure"
Jump to navigation
Jump to search
(Created page with " {{DevDiscussion}} Proposed directory structure for Inkscape's source code. *src **2geom<sup>†</sup> Geometry (move to library) **display<sup>†</sup> ***render...") |
|||
Line 6: | Line 6: | ||
*src | *src | ||
**2geom<sup>†</sup> Geometry (move to library) | **2geom<sup>†</sup> Geometry (move to library) | ||
**display<sup>†</sup> | **display<sup>†</sup> (Rename 'render'?) | ||
***render Render SVG | ***render Render SVG (if 'display' -> 'render', rename svg?) | ||
****filters Render filters | ****filters Render filters | ||
***control UI controls (layered above SVG) | ***control UI controls (layered above SVG) | ||
Line 13: | Line 13: | ||
**extension<sup>†</sup> | **extension<sup>†</sup> | ||
***dbus<sup>†</sup> | ***dbus<sup>†</sup> | ||
***internal<sup>†</sup> | ***internal<sup>†</sup> (move to io) | ||
***plugins<sup>†</sup> | ***plugins<sup>†</sup> | ||
***etc. | ***etc. | ||
**io<sup>†</sup> Reading/writing files | **io<sup>†</sup> Reading/writing files | ||
**libraries | **libraries (move parallel to 'src'?, rename 3rd party?) | ||
***libavoid | ***libavoid | ||
***libcola | ***libcola | ||
Line 26: | Line 26: | ||
**manipulation Manipulation of SVG (divide into generic and UI dependent?) | **manipulation Manipulation of SVG (divide into generic and UI dependent?) | ||
***chemistry | ***chemistry | ||
***live-effects | ***live-effects | ||
***misc | ***misc | ||
***selection | ***selection | ||
***snap | ***snap | ||
Line 37: | Line 36: | ||
***filters<sup>†</sup> | ***filters<sup>†</sup> | ||
***etc. | ***etc. | ||
**ui<sup>†</sup> | **ui<sup>†</sup> | ||
***cache<sup>†</sup> | ***cache<sup>†</sup> | ||
Line 54: | Line 52: | ||
*****property Widgets that change properties | *****property Widgets that change properties | ||
*****preference Widgets that change preferences | *****preference Widgets that change preferences | ||
***onscreen (knots) | |||
**util<sup>†</sup> (Merge helper & util) | **util<sup>†</sup> (Merge helper & util) | ||
***numeric | ***numeric | ||
***color | ***color | ||
**svg<sup>†</sup> | ***svg<sup>†</sup> | ||
**xml<sup>†</sup> XML manipulation (Mostly SVG/Inkscape agnostic) | **xml<sup>†</sup> XML manipulation (Mostly SVG/Inkscape agnostic) | ||
<sup>†</sup> Already exists. | <sup>†</sup> Already exists. | ||
A more radical suggestion: [[Source Directory Structure Screaming Architecture]] |
Revision as of 14:43, 29 March 2018
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
- render Render SVG (if 'display' -> 'render', rename svg?)
- 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