Files
dc-observatio/docs/tasks/TASK_routes-drops-carryover.md
T
Дмитрий Соловьев 294b17757d pcp: время — сквозной naive LocalDateTime как локальное настенное время (без UTC)
Отказ от остаточной UTC-семантики: naive LocalDateTime трактуется как
локальное время единой зоны всех сервисов.

Backend (границы внешних систем):
- VisibilityPayloadParser, SyncSpacecraftFromNsiUseCase: ZoneOffset.UTC →
  ZoneId.systemDefault() для проекции внешних Instant/ISO-с-Z в naive.
- тесты границ перевёрнуты на systemDefault (под Europe/Moscow ждут +3).
- чистка UTC-формулировок в DTO-комментариях, мёртвых ссылок на
  docs/standards/DATETIME_UTC.md.

Frontend (pcp-tgu-ops-ui):
- utils/utcTime.ts → utils/localTime.ts: parseLocal/formatLocal*/toLocalIso/
  toLocalInputValue с локальной семантикой (без дописывания Z и timeZone:UTC).
- замена getUTC*/Date.UTC/toISOString-сериализации на локальные аналоги.
- убраны пользовательские подписи «UTC» в редакторе/таймлайне.
- удалён utcTime.guard.test.ts (форсил обратный UTC-инвариант); тест-фикстуры
  сделаны зоно-независимыми. tsc + vitest зелёные под TZ=UTC и TZ=Europe/Moscow.

Включает также прочие незакоммиченные правки рабочего дерева.
2026-06-04 09:50:39 +03:00

31 lines
2.6 KiB
Markdown

# Следующая задача: маршруты, сбросы и перенос включений между планами
> Статус: запланировано (дизайн ещё не начат). Это фиксация намерения, не финальный план.
Следующий блок работ — три связанные темы вокруг содержимого плана (включений) и
их съёмочно-сбросовой обвязки:
## 1. Построение маршрутов
Довести построение маршрутов наблюдения по плану. Сейчас маршруты порождаются в
потоке `createSatelliteMission` (BPMN), где `planId == missionId`; результат
ложится в БД mission-planing. Уточнить: когда и по какому триггеру строятся
маршруты для нового/перевыданного плана, и как они привязаны к включениям.
## 2. Формирование сбросов
Формирование сбросов (`DropMode`) поверх съёмочных включений (`SurveyMode`):
расчёт окон сброса, привязка к ЗРВ/КПП, согласование времени сброса со временем
съёмки. Внутренние времена — naive `LocalDateTime` (см. сквозную модель без зон).
## 3. Перенос включений из плана в план
При перевыдаче/версионировании плана переносить уже сформированные включения
(съёмки + сбросы) из предыдущего плана в новый — чтобы не терять набранное
содержимое цепочки. Определить, что переносится как есть, что пересчитывается,
и как это стыкуется с двумя осями версионирования (цепочка ТГУ + контент миссии).
## Контекст / связанные места
- Маршруты и их сохранение: `createSatelliteMission`, `planId == missionId`.
- Сбросы/съёмки: `pcp-mission-planing-service``SurveyMode`/`DropMode`,
`MissionPlaningService`.
- Версионирование/перевыдача плана — две оси (цепочка ТГУ + контент миссии).
- Время — сквозной naive `LocalDateTime` без зоны (после отката UTC-слоя).