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
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_Слой_2" data-name="Слой_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 37.67 44.99">
<defs>
<style>
.cls-1 {
fill: #fff;
stroke: #000;
stroke-miterlimit: 10;
stroke-width: 2px;
}
</style>
</defs>
<g id="_Слой_11" data-name="Слой_11">
<path class="cls-1" d="M6.71,43.99V8.86H2.32l6.3-6.67c.7-.74,1.66-1.16,2.68-1.16l14.07-.04c1.5,0,2.93.6,3.97,1.68l5.97,6.18h-4.6l1,35.13H6.71Z"/>
<line class="cls-1" x1="4.21" y1="16.49" x2="33.21" y2="20.49"/>
<line class="cls-1" x1="4.21" y1="20.49" x2="33.21" y2="24.12"/>
<line class="cls-1" x1="4.21" y1="24.12" x2="33.21" y2="27.84"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 731 B