feat: новая архитектура UI и расширенная визуализация AIS

Архитектурные улучшения:
- Внедрен UIRenderingCoordinator с централизованным throttling
- Решены проблемы зависания UI через батчинг операций карты
- Добавлен VesselPathController для отслеживания маршрутов
- Реализован MapLibreMapImpl как альтернатива Яндекс.Картам

Визуализация AIS:
- Добавлены векторные иконки для всех типов судов
- Разделение Class A/B судов с соответствующими иконками
- Иконки навигационных статусов (anchor, moored, engine, sail)
- Улучшенный CursorOverlay с информацией о судах

Производительность:
- Throttling UI обновлений (vessel: 500ms, AIS: 1s, paths: 2s)
- Устранение утечек Handler объектов
- Оптимизация GeoJSON операций в MapLibre
This commit is contained in:
2025-10-02 09:15:33 +03:00
parent 41432665ea
commit b5aee265bc
85 changed files with 7132 additions and 449 deletions
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_Слой_2" data-name="Слой_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50.57 51.98">
<defs>
<style>
.cls-1, .cls-2 {
fill: #fff;
stroke: #000;
stroke-miterlimit: 10;
}
.cls-2 {
stroke-width: 2px;
}
</style>
</defs>
<g id="_Слой_12" data-name="Слой_12">
<polyline class="cls-2" points="21.49 2.23 21.49 22.58 21.79 51.97"/>
<line class="cls-2" x1=".79" y1="41.97" x2="50.57" y2="41.97"/>
<polygon class="cls-1" points="25.68 2.23 25.68 38.03 48.81 38.03 25.68 2.23"/>
<polygon class="cls-1" points="17.7 2.23 17.7 38.03 .79 38.03 17.7 2.23"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 711 B