Commit Graph

104 Commits

Author SHA1 Message Date
Дмитрий Соловьев 82eddedc92 feat(tgu-ops-ui): OSM tiles, editor layout fixes, map resizer
Карта:
- Заменить схематичные контуры континентов на тайлы CartoDB Dark
  (dark_nolabels, CC BY 3.0, без API-ключа) через модульный кеш
  tileLoader.ts + отрисовщик drawTiles.ts на существующей Web Mercator
  проекции — без новых зависимостей
- Сохранить сетку lat/lon 30° поверх тайлов (полезна для орбитального
  анализа), убрать нарисованные контуры и градиент океана
- Обновить атрибуцию: © OpenStreetMap contributors · © CARTO

Вкладка Редактор — раскладка:
- Исправить цепочку высот: workspace переведён с display:grid на
  display:flex + flex-direction:column; layout получает flex:1 — единственный
  надёжный способ пробросить definite height через несколько вложенных
  grid-контейнеров в Chrome
- Обернуть условные notice/applyError в постоянный div.tgu-editor-notices,
  чтобы .tgu-editor-layout всегда был третьим flex-ребёнком (раньше при
  отсутствии уведомлений попадал во вторую auto-строку grid и схлопывался)

Вкладка Редактор — карта:
- Добавить перетаскиваемый разделитель между картой и таймлайном:
  mapRatio state (по умолчанию 50/50), drag-хендлер через document events,
  ограничение 15–80%, визуальный индикатор .tgu-editor-map-resizer
- Ограничить окно наземной трассы 24ч (720 точек, шаг 2 мин) независимо
  от зума таймлайна — при широком диапазоне (7 суток) шаг был 38 мин,
  трасса выглядела как хаотическая сетка через весь глобус

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 16:30:53 +03:00
Дмитрий Соловьев f084775cbb feat(tgu-ops-ui): add spacecraft work editor tab
Port the TGU editor prototype into pcp-tgu-ops-ui as a new editor tab, add draft/conflict/pass logic with tests, extend the 2D map picking API, and include editor styles/theme aliases and task/prototype docs.

Validation: npm run test; npm run build in services/pcp-tgu-ops-ui.
2026-05-30 15:28:34 +03:00
Дмитрий Соловьев c3a1a8b4a1 Add PCP architecture docs and TGU ops updates
Capture current PCP architecture notes, service-map prototypes, TGU operations UI/map work, local configuration updates, database helper scripts, and request/sample JSON artifacts.
2026-05-30 14:18:19 +03:00
Дмитрий Соловьев 9fca4d4051 pcp-tgu интерфейс 2026-05-29 16:09:36 +03:00
emelianov 24af140213 БД для stations dev 2026-05-29 15:47:49 +03:00
emelianov 651c85d64c БД для requests dev 2026-05-29 15:24:58 +03:00
emelianov 723ceead32 БД для requests dev 2026-05-29 15:18:57 +03:00
Дмитрий Соловьев 913b3d7c9b pcp-tgu интерфейс 2026-05-29 15:18:21 +03:00
Дмитрий Соловьев 4556592e63 pcp-tgu интерфейс 2026-05-29 15:15:02 +03:00
emelianov eff24a254d БД для requests dev 2026-05-29 14:55:29 +03:00
emelianov 366ed8f451 БД для slots dev 2026-05-29 14:50:27 +03:00
emelianov 2d100fdd54 БД для complex-missions dev 2026-05-29 14:45:24 +03:00
emelianov 41c3539b17 БД для ballistics dev 2026-05-29 14:30:03 +03:00
emelianov a6f179550c БД для ballistics dev 2026-05-29 14:07:15 +03:00
Дмитрий Соловьев e7c2060e2e pcp-tgu 2026-05-29 13:35:32 +03:00
emelianov 3fd702ca47 Задание НУ из ui 2026-05-29 12:41:32 +03:00
emelianov d693bf799d Задание НУ из ui 2026-05-29 10:52:36 +03:00
emelianov 7dfa1163e9 Расчет средних ЗРВ 2026-05-28 16:47:43 +03:00
emelianov 2c65f412cf Расчет средних ЗРВ 2026-05-28 13:49:35 +03:00
emelianov 6e62a0bd19 -sonar 2026-05-27 17:55:03 +03:00
emelianov 7dc786362c -sonar 2026-05-27 17:09:47 +03:00
emelianov 5c3f145267 -sonar 2026-05-27 15:58:30 +03:00
emelianov b4dda51460 -sonar 2026-05-27 15:52:14 +03:00
emelianov c7f3a77ff1 анализ TLE 2026-05-27 15:34:34 +03:00
emelianov c95d5239ec анализ TLE 2026-05-27 15:33:12 +03:00
emelianov bfb9d5b01f анализ TLE 2026-05-27 15:30:24 +03:00
emelianov a7e950a131 сравнение TLE 2026-05-27 13:03:31 +03:00
emelianov da1217cbe8 сравнение TLE 2026-05-27 12:53:07 +03:00
emelianov db9e995d46 сравнение TLE 2026-05-27 12:50:37 +03:00
emelianov b846317f47 сравнение TLE 2026-05-27 12:45:26 +03:00
emelianov d07b17e03e сравнение TLE 2026-05-27 12:35:20 +03:00
emelianov f4014a08a1 сравнение TLE 2026-05-27 12:00:52 +03:00
emelianov 29c06a4c9c сравнение TLE 2026-05-27 11:40:31 +03:00
Дмитрий Соловьев 3dce0aec0d Основные изменения:
состояние окон видимости, расписания планов, попыток выдачи и job’ов перенесено в БД;
план и попытка выдачи разделены на разные сущности;
Kafka-события теперь двигают persisted state/jobs, а не локальную память pod’а;
BPMN createSatelliteMission теперь отвечает только за одну попытку выдачи плана;
обновление слотов после принятия плана вынесено в отдельный BPMN-процесс;
workers используют DB claim/lock model и безопасны для нескольких pod’ов;
тестовый ручной API вынесен в отдельный disabled-by-default controller
2026-05-27 10:29:41 +03:00
emelianov 1a6e51bf25 Учет забронированных слотов при расчете комплексного плана 2026-05-27 10:24:14 +03:00
emelianov 2aafa561ed Учет забронированных слотов при расчете комплексного плана 2026-05-27 10:03:23 +03:00
Дмитрий Соловьев cf3bb63bc1 Запрос только аппаратов со статусом operational 2026-05-26 14:03:59 +03:00
Дмитрий Соловьев 12d8b01bae При отсутствии данных endpoint возвращает пустой лист 2026-05-26 13:44:38 +03:00
emelianov 4d2a5952c9 test 2026-05-26 13:09:39 +03:00
emelianov 23c540ead0 test 2026-05-26 12:55:21 +03:00
emelianov 467f91a374 Доработка отображения текущего плана 2026-05-26 12:53:04 +03:00
Дмитрий Соловьев 4edf9d7aa8 Добавлен кэш, запросы в НСИ раз в 15 минут 2026-05-26 12:41:08 +03:00
emelianov 38c1449e97 Доработка отображения текущего плана 2026-05-26 12:32:33 +03:00
Дмитрий Соловьев cbbafebf79 Перевод pcp-tgu на новый НСИ 2026-05-26 11:07:37 +03:00
emelianov 1229995f90 Доработка отображения текущего плана 2026-05-25 22:02:17 +03:00
emelianov d4682fdeb7 отображение забронированных слотов и тестовые НУ 2026-05-25 21:02:53 +03:00
emelianov f549e15c63 отображение забронированных слотов и тестовые НУ 2026-05-25 21:02:50 +03:00
Дмитрий Соловьев 1ef912be66 @ 2026-05-25 15:57:11 +03:00
Дмитрий Соловьев fa357a78b4 улучшить observability и документацию outbox
- обновить README с текущим Kafka, DB, outbox и scaling flow
- расширить логи listener, ingestion, publisher и outbox worker
- не логировать raw payload и outbox payload
- закрыть test controller явным property
- добавить Micrometer counters для ingestion и outbox outcomes
- сохранить listener flow, payload contract и delivery semantics без изменений
2026-05-25 15:20:25 +03:00
Дмитрий Соловьев 4073897efc добавить масштабируемый outbox worker для паспортов маршрутов
- добавить properties и config values для route passport outbox worker
- включить Spring scheduling в route-processing service
- добавить транзакционный сервис claim и status transitions для outbox
- публиковать claimed outbox rows через существующий Kafka publisher
- обрабатывать publish failures по каждой row с bounded exponential backoff
- обеспечить безопасность при нескольких pod через FOR UPDATE SKIP LOCKED и lockedUntil
- добавить unit tests для claim, publish transitions, retry/fail behavior и batch-обработки worker
2026-05-25 15:05:10 +03:00