Changelog
[1.4.0] - 2026-09-23
Added
- Новый режим работы антенны: ⚓ По опорным маякам (
beacon_referenced)
- Позиция судна вычисляется по известным координатам одного или нескольких опорных маяков (обратная геодезическая задача)
- Усреднение позиции через медиану (при нескольких опорных), контроль разброса и возраста
- Буфер позиций с временем жизни 20 секунд (защита от устаревших данных)
- DH-фильтр на позицию судна (защита от физически невозможных прыжков), один на все опорные маяки
- Отвергнутые позиции судна отображаются на карте серым крестиком с подписью «ОТВЕРГНУТО»
- DH-фильтр и сглаживатель для искомых маяков (в географических координатах)
- Панель «⚓ Опорные маяки» в меню Инструменты:
- Добавление/удаление опорных маяков с координатами и глубиной
- Список опорных маяков с возможностью удаления
- Индикатор состояния (активен/готов/ожидание данных)
- Показ текущей позиции судна (координаты, источников, разброс, возраст)
- Опция «⚓ По опорным маякам» в настройках режима антенны
- Новый шаг «Опорные маяки» в стартовом мастере настройки (UIWizard)
- Индикатор ⚓ в панели антенны при активном режиме
- Строка «⚓ Точность» в панели антенны — разброс между опорными маяками, количество источников, возраст (показывается только при 2+ опорных)
- Строка «GNSS» и «Расхождение» в панели антенны — сравнение позиции по опорным маякам с GNSS-позицией (при наличии GNSS-данных)
- Настройка «Макс. скорость судна» в ⚙ Настройки → Фильтр судна (DH) — порог DH-фильтра позиции судна (0.5–50 м/с, по умолчанию 2.0)
- Визуализация режима на карте:
- Опорные маяки выделяются золотой обводкой и значком ⚓
- Пунктирные золотые линии от опорных маяков до позиции судна
- Круг разброса вокруг позиции судна
- Сохранение опорных маяков в localStorage (восстановление между сессиями)
- Автоматическая установка якоря карты (anchor) при добавлении/активации опорного маяка
Changed
- Рефакторинг
azm-manager.js: processBeaconData() разбит на диспетчер и стратегии (strategyCartesianFixed, strategyGeographic, strategyBeaconReferenced) — упрощает добавление новых режимов
- Рефакторинг CSS: введены переменные
--radius-* и иерархия --z-*; удалены дубли; dropdown-меню и панели переведены на класс .visible вместо inline-стилей
- Кнопка Лог унифицирована по размеру с остальными кнопками top-bar
- Все панели получили единый стиль (общий padding, border-radius, box-shadow)
- Кнопки внутри панелей унифицированы через классы
.panel-btn-*
- Индикатор прогресса воспроизведения (
#playback-progress) и контрол скорости (#playback-speed-control) управляются через класс .active
- В режиме
beacon_referenced GNSS-позиция сохраняется отдельно (для сравнения) и не перезаписывает рабочую позицию судна
- Опорные маяки не добавляются в трек маяка, к ним не применяются DH-фильтр и сглаживатель (координаты заданы пользователем и стабильны)
- Трек станции в режиме
beacon_referenced строится по вычисленной позиции судна (не по GNSS)
- Документация (guide и readme) актуализирована
Fixed
- CSS: исправлена опечатка
..dropdown-menu (двойная точка) — из-за неё не работали подменю в меню Инструменты
- CSS: переменные
--radius-sm/--radius/--radius-lg не были определены — теперь скругления работают корректно
- UI: подменю (POI, Калибровки) больше не раскрываются всегда, работают по hover и по tap
- UI: dropdown-меню на мобильных/планшетах больше не уезжают за край экрана
- UI: подменю на узких экранах раскрываются вниз (в виде «дерева»), не уезжают вбок
- Возраст позиции судна в панели антенны показывал миллиарды секунд (сравнение виртуального и реального времени). Добавлено поле
updatedAt (реальное время) в shipPosition
recalculateShipPosition использовал Date.now() вместо timeProvider() — в режиме воспроизведения лога это приводило к тому, что все записи буфера считались устаревшими
- DH-фильтр позиции судна работал в градусах вместо радиан (как
DHTrackFilter для маяков) — из-за этого отвергались все позиции
- Опорный маяк не отображался по своим координатам, если не был установлен якорь карты. Anchor теперь устанавливается при добавлении/активации опорного маяка
- Трек станции не строился в режиме
beacon_referenced, если опорный маяк — единственный. Точка добавляется в раннем выходе для опорного маяка
Notes
- Режим
beacon_referenced требует минимум один опорный маяк с известными координатами
- В режиме
beacon_referenced смещения антенны (offsetX/offsetY) не применяются — только угловая поправка phi
- Точность позиции (
spread) оценивается только при 2+ опорных маяках. При одном маяке spread = 0 и строка «⚓ Точность» в панели антенны скрывается
- GNSS-позиция (если есть в логе) отображается в панели антенны для сравнения с позицией по опорным маякам — строки «GNSS» и «Расхождение»
- При выходе из режима
beacon_referenced буфер позиций сбрасывается
- Опорные маяки, выпавшие из маски опроса, не удаляются автоматически — позиция судна «замораживается» на последнем значении (в пределах 20 секунд)
[1.3.10] - 2026-09-21
Fixed
- убрано смещение при работе линейки
Added
- Поддержка сообщений **HDG для данных компаса
- Поддержка режима работы, когда есть только показания компаса - возможность отсева выбросов даже без географического положения антенны
[1.3.9] - 2026-09-14
Added
- PWA-оболочка: манифест (
manifest.json) и Service Worker (sw.js) — приложение можно установить как standalone-приложение на десктопе (Chrome, Edge)
- Иконки приложения (192×192, 512×512)
Changed
- Service Worker регистрируется только в защищённом контексте (http/https). Работа из
file:// и из Android Launcher не затронута
- Автоматическое обновление приложения через Service Worker (
skipWaiting() + clients.claim()) — новая версия применяется при следующем запуске
- Кэширование статики не влияет на работу Web Serial API (serial работает напрямую с USB, минуя сеть)
Notes
- В standalone-режиме Vivaldi диалог выбора порта Web Serial может не отображаться — это известный баг браузера. В Chrome и Edge standalone работает корректно
[1.3.8] - 2026-09-01
Added
- Возможность использовать встроенный компас Android-устройства для ручной топопривязки
Changed
- Улучшена работа со встроенными сенсорами Android-устройств
[1.3.7] - 2026-07-29
Added
- Экспорт треков в формате DXF (CAD)
[1.3.6] - 2026-07-22
Added
- Калибровка углового смещения нуля антенны и компаса по известной точке (Отчёт DRMS и Меню калибровки)
Fixed
- Улучшена обработка битых NMEA-сообщений
- Отображение текста в отчёте DRMS
[1.3.5] - 2026-07-20
Fixed
- Исправлено отображение треков и значков маяков в географическом режиме
[1.3.4] - 2026-07-17
Added
- Утилита «Конвертер координат»: загрузка CSV/KML и преобразование координат из географической системы в метры и обратно
- Интерактивная настройка азимутального угла (направление антенны) при конвертации из декартовой системы координат
Fixed
- Отображение стрелки азимута в декартовом режиме
[1.3.3] - 2026-07-16
Added
- Стартовый мастер настройки (UIWizard): пошаговый выбор режима антенны, топопривязки и GNSS-компаса с проверкой подключения
Fixed
- Азимут антенны сбрасывается корректно при переключении между режимами
- Исправлена ошибка при обработке служебного сообщения маяка при его включении
- Исправлено вычисление проекции наклонной дальности при отсутствии глубины антенны или маяка
- Устранено двойное применение угла поправки к азимуту в декартовом режиме
- Исправлено отображение трека и иконки маяков относительно трека в декартовом режиме
[1.3.2] - 2026-07-10
Added
- Cartesian режим для работы с неподвижной антенной в метрических координатах
- Отдельный DH-фильтр для декартовых координат (DHTrackFilterXYZ)
- Сглаживатель координат для декартова режима (TrackMedianFilterXYZ)
- Подписи осей X/Y на сетке в декартовом режиме
- Отслеживание маяков в декартовых координатах (followCartesianPoint)
- Экспорт CSV с колонками X,Y,Z в декартовом режиме (lat/lon — пустые)
Changed
- GNSS-данные игнорируются в декартовом режиме (антенна остаётся в 0,0,0)
- Калибровка таблицы антенны отключена в декартовом режиме с предупреждением
- POI не отображаются в декартовом режиме (нет географической привязки)
- Трек станции не рисуется в декартовом режиме
- Карточка антенны показывает X/Y в декартовом режиме, азимут фиксирован 0°
- Экспорт GGA, KML, PSIMSSB UTM недоступен в декартовом режиме с пояснением
- При переключении режимов восстанавливается/сбрасывается топопривязка
- Двойной тап/даблклик сбрасывает вид в зависимости от режима
[1.3.1] - 2026-06-26
Changed
- Приведены в порядок цветовые схемы
- Доработана работа с портом при подключении маяка
[1.3.0] - 2026-06-25
Added
- Функция настройки маяка: при подключении маяка рядом с лейблом устройства появляется кнопка вызова модального окна настройки
[1.2.9] - 2026-06-24
Added
- Точки интереса (POI): загрузка из CSV, отметка текущего положения маяка (📌 в карточке), отображение на карте
- Экспорт POI в CSV и KML
- Сохранение POI между сессиями (localStorage)
- Статистический анализ (DRMS и т.п.) в меню «Инструменты» → «Отчёт DRMS»
Changed
- Меню «Инструменты» реорганизовано: добавлены подменю «Калибровки» и «POI»
- POI отображаются без дистанции (только название и глубина)
[1.2.8] - 2026-06-23
Added
- Калибровка антенны по таблице поправок: накопление точек при движении вокруг маяка с последующим построением таблицы ошибок по секторам
- Возможность скачать полный отчёт калибровки (сырые данные + таблица) для анализа
Changed
- Кнопка калибровки антенны перенесена из меню «Лог» в «Инструменты»
- Загрузка калибровочной таблицы и сброс вынесены в колбеки для устранения зависимости от глобальных переменных
Fixed
- Исправлена загрузка калибровочной таблицы из файла в AntennaCorrector
[1.2.7] - 2026-06-16
Added
- Экспорт трека антенны в формате GGA
- Предупреждение при закрытии страницы, если есть треки или журнал
Fixed
- Время при экспорте в формате GGA
[1.2.6] - 2026-06-10
Fixed
- Отображение карточки маяка
- Автоцентрирование при нажатии на карточку маяка или станции
[1.2.5] - 2026-06-10
Changed
- Рефакторинг: вынесены модули
ui-topo.js, ui-calibration.js, ui-canvas.js, создан export.js
- Устранено дублирование кода геодезических расчётов (использование
GeoUtils.geoToScreen())
- Оптимизирована инициализация и обработчики событий (мышь, тач)
- Упрощена работа с масштабом и панорамированием через
UICanvas
Fixed
- Добавлена глубина при экспорте в формат KML
[1.2.4] - 2026-06-08
Added
- Инструмент «Линейка» для измерения расстояний на карте (две точки, резиновая линия, работает при зуме/панорамировании)
Changed
- Рефакторинг: выделены модули
ui-themes.js, ui-settings.js, ui-ruler.js
- Улучшены цвета сетки в тёмных темах (Jack Black, Dark Contrast, VAX)
- Версия приложения обновлена до 1.2.4
[1.2.3] - 2026-06-08
Added
- Настройка максимальной скорости маяка для ACHOD-фильтра (0.5–5 м/с)
- Разные режимы работы ACHOD-фильтра при разных дальностях
- Пропуск пустого времени при воспроизведении логов (до первой точки маяка)
- Ускоренное воспроизведение логов (2x, 4x, 8x)
Changed
- ACHOD-фильтр (DH-filter) адаптирован для работы с разными размерами очередей
- Улучшено сохранение/загрузка настроек
- Добавлена настройка максимальной скорости маяка
Fixed
- Исправлено некорректное отображение сохранённой максимальной скорости в окне настроек
- Ручная топопривязка теперь позволяет изменять только азимут без перезаписи координат
[1.2.2] - 2026-06-06
Added
- Отображение отвергнутых фильтром точек (серые крестики) для диагностики
- Температура с маяка в карточке (в строке с VCC)
- Адаптивный порог DH-фильтра в зависимости от дальности
- Темы Jack Black, Jack White, VAX добавлены в цикл переключения тем
Changed
- Сглаживатель координат отключается на дистанциях > 1000 м
- Азимут в карточке: в скобках если измеренный, без скобок если абсолютный
Fixed
- Дальность в карточке маяка всегда показывает актуальное измеренное значение
[1.2.1] - 2026-06-05
Added
- Улучшен анализ логов (расширенная статистика по heading)
- Корректный пересчёт девиации и склонения в сообщении HDG
Fixed
- Парсинг логов учитывает разные источники (GNSS, HDM)
[1.2.0] - 2026-06-02
Added
- Экспорт PSIMSSB с UTM координатами (C,E)
- Медианный фильтр координат
- Корректор угла антенны по калибровочной таблице
- Авто-расчёт скорости звука по UNESCO (температура + солёность)
Fixed
- Время в GGA/PSIMSSB без даты (hhmmss)
- xM/yM в градусах вместо радианов
[1.1.0] - 2026-05-15
Added
- Экспорт PSIMSSB (C,H — Head-Up)
- Сохранение относительных координат в трек
[1.0.0] - 2026-04-01