- Добавлены свободные многострочные комментарии на схеме: создание через меню, перемещение мышью, редактирование и удаление.
- Реализовано хранение комментариев в JSON с устойчивыми идентификаторами, координатами и сохранением неизвестных полей.
- Все операции с комментариями включены в Undo/Redo; поддержаны схемы только с заметками и сохранение удаления последней заметки.
- Исправлены границы общего вида, неограниченный масштаб схемы с одной заметкой и завершение перетаскивания при панорамировании пробелом.
- Добавлены семь smoke-сценариев, проверки совместимости генератора и обновлено руководство пользователя.
- Версия приложения обновлена до 3.5.0.
- Добавлена сохраняемая настройка размера текста индексов LED с мгновенным предпросмотром и сбросом.
- Исправлено размещение быстрых кнопок в строке меню без перекрытия пунктов на узком окне.
- Усилена проверка OTA-загрузок: права записи, конечный URL, авторизация, Content-Length и отдельная группа updater-процесса.
- Добавлен единый загрузчик подложек с определением формата по содержимому, EXIF-ориентацией и преобразованием CMYK.
- Расширен список форматов подложки и добавлена безопасная обработка крупных изображений.
- Ошибки декодирования теперь показываются пользователю без замены текущей подложки.
- Обновлены smoke-тесты, документация, PyInstaller-конфигурация и версия приложения до 3.4.0.
- встраивать исходное изображение подложки в JSON вместе с метаданными и контрольной суммой
- сохранять геометрию и параметры встроенной подложки при повторном редактировании
- показывать значение «Встроенная» в диалоге подложки до выбора замены
- загружать встроенное изображение непосредственно из JSON на холст
- защищать существующий файл схемы при ошибке чтения подложки
- расширить автоматические проверки до 161 сценария
- исправить точное и атомарное сохранение схем
- добавить настройку шага сетки и абсолютного размера LED
- добавить пакетное удаление выбранных блоков
- исключить генерацию устаревшего INO-файла
- синхронизировать сетку обычного режима и режима редактирования
- устранить движение схемы при переключении режима редактирования
- расширить автоматические проверки до 158 сценариев
- Добавлена bbox-подсветка с синим пунктиром вокруг выделенных светодиодов
- Реализовано перетаскивание выделенной группы светодиодов за любую область внутри bbox-рамки
- Добавлен инструмент «Выровнять по сетке» (Snap to Grid) на правую панель
- Добавлена поддержка бесконечной сетки во все стороны в режиме редактирования
- Исправлено прореживание и масштабирование сетки в режиме редактирования
- Добавлены пункты выделения линий и блоков по правому клику мыши
- Стабилизировано положение камеры при добавлении точек (устранено смещение scrolling-вьюпорта)
- Добавлен детальный рендеринг маппинга при экспорте:
- Рисуются информационные плашки (badges) для первого и последнего светодиода в каждом блоке, показывающие ID точки и её локальный индекс в линии.
- Справа от маппинга выводится боковая панель с легендой линий и блоков.
- В легенде под цветом каждой линии выводятся блоки и диапазоны индексов их светодиодов (например, Блок: 0-186).
- Реализован метод export_to_image в canvas.py для рендеринга всей сцены маппинга (с учетом кастомного фона, сетки и точек) в файл изображения с полями и масштабированием.
- Добавлено действие export_image (Экспортировать в изображение...) в меню Файл с хоткеем Ctrl+Shift+E и вызовом диалога сохранения файла.
- Добавлен интеграционный тест test_export_mapping_to_image в qa_smoke.py для проверки экспорта схемы в PNG.
- Добавлено автоматическое построение блока против часовой стрелки.
- Добавлено редактирование координат LED через контекстное меню.
- Добавлено перемещение светодиодов через Alt + ЛКМ.
- Убран лишний столбец "Источник" из таблицы выбранных LED.
- Индексы LED сделаны визуальной подсказкой, которая не мешает кликам и перетаскиванию точек.
- Добавлены проверки для новых сценариев редактирования, маршрутизации, таблицы и сборочного имени.
- Добавлено полное удаление выбранных LED-точек через контекстное меню холста, таблицы и горячую клавишу Ctrl+Del.
- Разрешено редактирование координат X и Y для всех точек схемы, а не только для созданных вручную.
- После удаления точек пересчитываются UID, связи блоков и индексы линий без повреждения маршрутов.
- UID в таблице теперь показывает исходный id точки, сохраняя внутренний идентификатор для выбора и операций.
- Добавлена настройка распределения высоты внутренних областей боковой панели.
- Расширены smoke-тесты на удаление точек, редактирование координат, пересчет блоков и состояние интерфейса.
- Добавлена подложка с видимостью, прозрачностью, масштабом, перемещением и редактированием через отдельное меню.
- Добавлен инструмент создания свободных светодиодов и редактирование X/Y для вручную созданных точек в таблице.
- Упрощена таблица выбранных LED: единый ID, координаты X/Y и UID в конце.
- Добавлены настраиваемые горячие клавиши для всех действий и переключатель отображения id светодиодов.
- Улучшена отрисовка линий: стрелки направления, изгибы при полном и частичном визуальном наложении сегментов.
- Оптимизировано переключение активных линий, выбор точек и поиск наложений соединений для снижения подвисаний.
- Исправлена логика ручных LED: row/col рассчитываются по сетке 34 мм, а ручные точки не сдвигают якорь сетки.
- Обновлена сборка EXE: имя использует тег, короткий хэш или дату/время для dirty-репозитория.
- Расширен smoke-набор до 113 проверок для новых функций и регрессий.