From Inkscape Wiki
Jump to navigation Jump to search

Pet Peeves

  1. Base classes with single derived class.
  2. Classes with a separate implemenation class (usually inside same file!).
  3. Related classes implemented in different ways:
    • SPCanvasItem and friends.
    • Dialogs.
  4. Classses that do everthing but only one part is used:
    • ControlManager
  5. Classes that appear everywhere but are actually used only one or two places:
    • ControlManager, PrefObserver.
  6. Different names for the same thing: "Node", "Knot", "Handle", "Dragger", "Ctrl", "Mouse Grab", "Control Point"
  7. Overuse of signals.
  8. Lack of documentation (what the hell is this class for?).
  9. Code changes or features that touch everything.
  10. Half-finished refactoring.
  11. GUI code everywhere.

To Do List

SVG 2 Auto-wrapped Text

  • Handle transforms properly (when text is dragged).
  • Fix bug where an extra space is added at end of each line with SVG 1.1 fallback.
  • Add GUI for 'shape-subtract', 'shape-padding', and 'shape-margin' properties.


  • Add SVG 2 text decorations to GUI.
  • Improve mesh gradient polyfill to handle meshes on strokes and bicubic meshes.
  • Handle bare 'href' (without 'xlink').

Inkscape Structure

  • Documents should be owned by application.
  • Fix document referencing bug that causes Inkscape to close too early (e.g. on revert).
  • Continue verb to action transition (converting verbs to not need GUI).
  • Redo document and dialog windows to use multi-pane widget.
  • Redo "Tasks" in consistent manner (wide-screen/etc.)

Command line

  • Handle all use cases (as listed in Inkscape Forums).