Что видно с края листа: как показать связи с двадцатью соседними листами
Схему разложили по листам — и на краях листа связи обрываются. Как PlyLoom 0.9 показывает соседей: рамка, плашки, «Ещё» и раскладка, которая не прыгает.
Когда языковая модель дорабатывает карту, она обычно возвращает весь проект заново — и увидеть, что именно она переписала, нельзя. В PlyLoom 0.10 правки приходят списком: каждую видно отдельно, нужные принимаются, остальные остаются в стороне, а всё сразу отменяется одним шагом.
До сих пор работа с ИИ над готовой картой выглядела так: приложить проект к промту, попросить изменения и получить обратно весь проект. Открыв такой файл, вы заменяете карту целиком. Если модель по дороге потеряла пару узлов, сократила цитату или «поправила» атрибут, о котором её не просили, заметить это можно только случайно. На большом JSON такое бывает чаще, чем хочется.
Проблема не в модели, а в форме ответа. Полный файл — это снимок, а нам нужна разница: что добавить, что изменить, что убрать. Поэтому в 0.10 PlyLoom различает две вещи.
.plyloom, полный снимок проекта. Его хранят, пересылают коллегам, кладут в репозиторий. С нуля карта по-прежнему приходит пакетом.Чужие правки никогда не попадают в проект сами. Они проходят один и тот же экран проверки — пришли они от ИИ или из файла коллеги.
В «Справка → Работа с ИИ» выберите «Доработать открытую карту» и «ИИ в чате» — кнопка скопирует промт вместе с проектом — целиком или одним листом с его соседями — и просит модель вернуть только список правок. Модель не может потерять то, чего не трогала, а ответ получается короче.
Ответ из чата вставляется как есть через «Проект → Вставить ответ ИИ…»: текст вокруг JSON и кавычки ``` не мешают. Если модель всё же вернула проект целиком, PlyLoom сравнит его с текущим и покажет тот же список.
Каждый пункт — одна правка с понятным смыслом:
Отмеченное применяется одним шагом, неотмеченное отклоняется. Решить позже можно кнопкой «Отложить»: список ждёт в полосе внизу экрана и открывается снова с теми же отметками.
Применённое не становится окончательным сразу — оно остаётся отмеченным, как исправления в текстовом редакторе. Новые узлы обведены зелёным, изменённые — жёлтым. Они могут быть на любых листах: стрелки ‹ › в полосе внизу проходят по ним по очереди. У выбранного узла в панели свойств написано, что с ним сделали, и есть «Принять» и «Отклонить». Для всех сразу — «Принять все» и «Отклонить все» в той же полосе; отклонение возвращает и удалённое, а ваши собственные правки после применения не трогает.
Тот же экран открывается из «Проект → Сравнить с файлом…» и из предпросмотра при открытии .plyloom — там появилась кнопка «Сравнить с текущим». Сравнение идёт по смыслу, а не по строкам: узлы, тексты, атрибуты, связи, листы и словари. Передвинутые карточки не засоряют список; если нужно, отметьте «Перенести и расположение».
Модели иногда перенумеровывают ID. Узел с другим ID, но тем же типом и названием, PlyLoom считает тем же узлом, а связь — той же связью по её концам и типу. Без этого любое переименование ID выглядело бы как «удалить всё и добавить заново».
При каждом «Скачать .plyloom» в файл записывается отпечаток версии — 12 знаков, вычисленных из содержимого, — и отпечатки версий, из которых он получился. Только отпечатки: прежнее содержимое в файл не попадает, и удалённый из карты абзац не уедет вместе с ней к получателю.
По отпечаткам PlyLoom понимает, что пришло: продолжение вашей версии, более старая копия или копия, которая менялась параллельно с вашей. Для последнего случая нужна общая версия. Её содержимое хранится только в вашем браузере — последние восемь открытых или скачанных версий. Если она есть, показываются только правки коллеги, а то, что вы меняли тоже, отмечено конфликтом. Если нет — различия смешивают обе стороны, и удаления не отмечены: это могут быть ваши новые узлы.
Кроме обычных тестов, сравнение проверено на случайных правках учебных карт: переименования, тексты, атрибуты, новые и удалённые узлы, связи, листы, порядок вкладок. Для каждого набора правок список, посчитанный PlyLoom, должен превращать одну карту в другую и обратно без остатка, а при слиянии конфликты должны появляться только там, где обе стороны трогали одно и то же. Эти проверки нашли и закрыли несколько тонких мест — например, сохранение основного листа узла и порядка вкладок.
Полный список — на странице «Что нового».
Скриншоты сняты с версии 0.10.0 на учебной карте «Разработка: экспорт отчёта»; правки в них придуманы для иллюстрации.
Схему разложили по листам — и на краях листа связи обрываются. Как PlyLoom 0.9 показывает соседей: рамка, плашки, «Ещё» и раскладка, которая не прыгает.
Пересказ изменений легко читать и почти невозможно проверить. Карту, где каждое изменение привязано к номерам пунктов обеих редакций, можно проверить глазами.
Дело не в нехватке места, а в борьбе за место и соседство. Что астрономы сделали с небом и что из этого следует для схем.
Вкладки, таблицы и схемы ломаются в одном и том же месте. Идея из технической документации: один компонент — во многих местах.