интеллект-карты есть недоделанные семантические сети

изначально инструмент задумывался для визуального редактирования 
семантических сетей
оказалось что с его помощью можно решать и другие задачи:
- визуализация данных из таблиц
- визуализация исходного кода
- демонстрация учебного материала
- использование в качестве АСОДУ: визуализация обстановки 
  и управление информационной системой 

предназначено для отображения графов
визуальная информация представляется в виде СЦЕН, которые могут включать 
в себя следующие элементы:
КРИВЫЕ
ОБЪЕКТЫ
СОЕДИНЕНИЯ
ВЫНОСКИ
ГРУППЫ

КРИВАЯ - это контейнер для тривиальных графических команд, объединенных в 
дисплейный список. команды могут быть на отрисовку линии, эллипса, прямоугольника,
 смену цвета пера, вывод надписи

ОБЪЕКТ - 
может быть трех видов
с кастомным дисплейным списком - получается при конвертации из кривых
типа прямоугольник/эллипс - с генерируемым дисплейным списком             
типа вставленного шаблона
в любом??? случае у объекта есть точка вставки, масштаб и угол поворота

СОЕДИНЕНИЯ - отражают связи между объектами                              
могут присоединяться к ПОРТУ обекта или ко всему объекту целиком
к порту может подсоединяться не более одной связи
к объекту целиком - несколько. в этом случае связи изображаются присоединенными 
к точке вставки объекта

с объектами могут быть связаны ДЕЙСТВИЯ: 
ДЕЙСТВИЕ это команда интерпретатора, которая будет выполнена при активации из
контекстного меню или при двойном щечке мышью по объекту в случае если действие
 единственное

ВЫНОСКА - фигура с текстом
может быть отдельной или привязанной к объекту, применяется для размещения 
текстовых комментариев

объекты и выноски могут иметь ИСТОЧНИК
это команда интерпретатора, результат которой передается в поле ТЕКСТ выноски
или в дисплейный список объекта
тут надо решить насчет масштабирования: должен ли быть отмасштаброван
полученный дисплейный список в оболочку и откуда брать эту оболочку, если не
рендерить из дисплейного списка

ГРУППА - это множество объектов, имеющее ряд атрибутов
- glue - объекты перемещаются вместе, даже если выделен только один из них
- видимость - аналог слоев
- видимость только одной группы
- взаимодействие с мышью - позволяет организовывать из части объектов 
   "фон" или "подложки"
 

действия с одиночными обектами
переименовать
создать выноску
перейти к редактированию выноски
перейтит к редактированию объекта
пройти по связи с/без изменением масштаба
пройти на начало/конец связи из середины
создать порт
как перемещать порт?

действия со списками объектов
- удалить 
- копировать в карман
- вырезать в карман
- добавить в группу
- удалить из группы
- обновить источники
- разместить
- организовать порты
- переместить в место
- выполнить действие

режим навигации и управления - редактирование запрещено
можно ли выбирать несколько? должно быть ДА, чтобы выполнять действия над
группой
проход по ссылкам
щелчок левой обновляет, правой вызывает контекстное меню, двойной - 
действие по умолчанию (действие по хуверу мыши?)
выделение с альтом или контролом

режим выделения и редактирования

режим добавления новых объектов


вставить типовую команду - телепорт