Клавиши, телефон и техническое описание.
Клавиши и жесты
Всё делается мышью и пальцами, а клавиши ускоряют частые действия.
| Действие | Как |
|---|
| Отменить · повторить | Ctrl+Z · Ctrl+Shift+Z или Ctrl+Y (на Mac — ⌘) |
| Соседний лист | Alt+← · Alt+→ |
| Удалить выделенный узел или связь | Del (на Mac — ⌫) |
| Выделить связь | щелчок по линии |
| Снять выделение, закрыть редактор и меню, отменить связывание | Esc |
| Следующее совпадение поиска | Enter в строке поиска |
| Выбрать карточку с клавиатуры | Enter или Space |
| Панорама · масштаб | тянуть пустое место или колесо · Ctrl + колесо, щипок |
| Новый узел · связь | двойной щелчок по пустому месту · тянуть точку на краю карточки |
| Развернуть · править карточку | «+» · ✎ |
| Обзор: двигать лист или узел · масштаб | стрелки (Shift — быстрее) · + − |
| Стопка: активный слой | ↑ · ↓ |
Телефон и планшет
На узком экране всё то же самое, только панели выезжают по кнопкам.
- Палитра узлов и свойства открываются кнопками под панелью инструментов; узел добавляется нажатием на тип.
- Лист двигается одним пальцем, масштаб — двумя.
- В развороте окна идут друг под другом: листайте вниз за заголовки окон или выбирайте лист вкладкой.
- Кнопка «Боковые» на узком экране показывает только число; меню открывается стрелкой ▾.
См. также: Разворот
Техническое описание
Один HTML-файл без сервера: что внутри, где хранится и как устроен формат.
- Приложение
- Один HTML-файл: интерфейс, код и иллюстрации внутри. Без сервера, установки и учётной записи; работает и с диска (file://). Политика безопасности страницы запрещает сетевые запросы (connect-src 'none') и внешние картинки.
- Браузеры
- Актуальные Chrome, Edge, Firefox и Safari (Chrome/Edge 107+, Firefox 104+, Safari 16+). Нужен JavaScript.
- Хранение
- Автосохранение в IndexedDB в моменты простоя; если IndexedDB недоступна — localStorage; если закрыто и то и другое — работа только в памяти, это видно в строке статуса. Последние запросы поиска, свёрнутые панели и группы палитры тоже хранятся в браузере.
- Идентичность
- У узла один id. Членства — массив sheets, первый лист основной. Координаты (pos) и геометрия (appearance) свои для каждого листа; имя, тело, тип и атрибуты общие. Золотые линии не хранятся — они вычисляются из членств.
- Рамка
- Рамка привязана к окну, а не к листу; листу остаётся не меньше 60 % ширины и высоты, на рамке — до 16 листов. Выбор, сделанный вручную, хранится в sheet.externals по ключу соседнего листа: side и along — сторона и место вдоль неё (доля длины), state — open, folded или parked («в «Ещё»»). Сдвиг соседей при развороте карточки — только на экране.
- Ограничения
- Лимита узлов и листов нет. Импорт — до 128 МиБ, с подтверждением после 20 МиБ. История изменений — 30 шагов до перезагрузки страницы.
- Приватность
- Карта не покидает компьютер. RU/ENG переводит интерфейс и встроенные примеры; ваши тексты и ID не переписываются.
Формат файла
.plyloom — JSON версии 3 в UTF-8:
{
"version": 3,
"title": "…",
"types": { "nodes": [], "edges": [], "sheets": [], "tags": [], "attributes": [] },
"sheets": [{ "id", "name", "typeId", "tags", "color", "description",
"overviewPos", "overviewCollapsed",
"externals": { "<sheet id>": { "side", "along", "state" } } }],
"nodes": [{ "id", "name", "kind", "body", "attributes",
"sheets": ["s1", "s2"],
"pos": { "s1": { "x", "y" }, "s2": { "x", "y" } },
"appearance": { "s1": { "width", "height", "shape" } } }],
"edges": [{ "id", "from", "to", "kind", "label", "directed", "routes" }],
"savedViews": [], "flatPositions": {}
}
Атрибуты: определения — в types.attributes (text, number, boolean, date, url, select, multi), значения — в node.attributes по id определения; null — атрибут добавлен, но не заполнен.
См. также: Сохранение и резервные копии, Развернуть, свернуть, закрепить