ideas for future versions:
  @gui
  [ ] when creating features and relationships, the screenlayout suddenly shifts
  [ ] performance optimization: redraw only when shown(=visible) items have changed;
      do not redraw 3 times when changing 3 attributes simultaneously. (especially at undo/redo)
      do not redraw twice, once for deactivating a tool and again for activating another
  [ ] a "saveAs" or export-as-cfu1 command should allow to copy the current db
  [ ] show a progress bar while exporting diagrams (especially for png mode)
  [ ] scrolling through search list missing if result list is too long
  [ ] Move a child diagram out of and behind the parent is not possible in one single step
  [ ] After deselecting all elements, paste does not work. One has to select an element first.
  @gtk4
  [x] sketcharea does not react on click, drag, release
  [x] separator icon too small
  [x] keyboard shortcuts/accellerators do not work
  [x] resizing main window not possible (?)
  [x] resizing file open dialog not possible (?)
  [x] resizing file export dialog not possible (?)
  [x] file open dialog shall always overwrite without asking - issue is documented now
  [x] file open dialog sets no default file name - seems to be a bug in gtk4 ? https://gitlab.gnome.org/GNOME/gtk/-/issues/4832
  [x] file export dialog must choose child of parent, not be in target location - is documented now
  [x] file export dialog does not evaluate selected formats
  [x] focus-out-event of edit-widgets are ignored
  [x] when clicking onto a diagam and thereby changing the tool, a redraw is missing
  [x] edit-element-type icons are badly aligned - workaround found for https://gitlab.gnome.org/GNOME/gtk/-/issues/4856
  [x] copy to clipboard does not yet work
  [x] paste from clipboard does not yet work
  [x] command line parameters do not yet work
  [x] on windows, the file open dialog only works after de- and re- activation - fixed using minimize and present again
  [x] on windows, switching between multiple main windows may require to minimize windows - documented
  @gui+ctrl
  [ ] When undoing/redoing things, switch to a diagram where you see the changes
  [ ] When pasting a new diagram, switch to the new diagram in nav view to see the changes
  @pencil
  [ ] improve layouting of relationships. Maybe "longest first + shortest best" is not the best strategy?
      instead look more for distances to other lines
  [ ] Support Diagram-Types: Profile
  [ ] exception+error flows to leave an interruptable area (activity diagrams)
  [ ] activity bars on lifelines missing
  [ ] feature compartments in use-cases look ugly
  [?] more relationship types needed: undirected ---- and one-way x--> and no x--x dependency (non-navigateable ends)
  [?] more relationship types needed: undirected ---- and one-way x--> and no x--x association
  [?] sequence diagrams need if/loop-boxes
  [?] activity diagrams need swimlanes/partitions
  @io
  [ ] export formats: enhance xmi standard compliance
  [ ] import XMI format
  [ ] xmi export is not spec-compliant for uml:Port, provided and required Interfaces
  [ ] xmi export: improve error message if exported file exists and is read-only
  [ ] uuid are preserved at json import. It is not checked if these uuids are unique in _all_ tables.
  [ ] json import: check if the input bytes are valid utf8 characters
  [ ] json export declares "type": "ActivityFinalNode" even if type is state-final
  [ ] json export declares "type": "DecisionNode" even if type is ChoiceNode (statemachine)
  [ ] json export: determining if statemachine_context - is a good guess but not 100% correct
  @data
  [?] some diagrams exist for completeness only - but do not contain important information. These shall be greyed out.
      --> add a "display_flags" field to "diagrams"
  [ ] performance optimization: possibly the feature and relationship filter on a visible_set is slow?
  [?] diagrams need some kind of category/classification/stereotype like idea-for-future, rejected-alternative, ...
      --> add a "stereotype" field to "diagrams"
  [ ] links unclear:
      interactionuse(diag-reference)-to-fragment(diag);
      part-to-component, object-to-class
  [ ] links unclear: provided/required-interface(feature)-to-interface(classifier)
  [?] features can have stereotypes, see UML spec 2.5.1 chapter 11.4.5 (maybe use existing value-type?)
  @ctrl
  [ ] delete features immediately when they become invisible in all diagrams (note: the search+xmi+json export find them)
  [ ] delete relationships immediately when they become invisible in all diagrams (note: the search+xmi+json export find them)
  @universal+utf8stringbuf
  [ ] combine the static string allocation with dynamic additional buffers for unexpectedly-long strings
  [ ] combine the static array allocation with dynamic additional buffers for arrays of unpredictable lengths
  @main
  @ts_log/trace/test_fw
