graph TD subgraph Mission_Node [Структура миссии] Mission[Миссия] --> MissionId[Id, type: free, training, control] Mission --> MissionConfig[конфиг миссии] MissionConfig --> MissionSettings[настройки миссии] MissionSettings --> StartStep[стартовый шаг] end subgraph Asset_Config [Конфиги ассетов] AssetConfig --> ModelConfig[конфиг моделей] ModelConfig --> InteractiveConfig[Конфиг интерактивных объектов] InteractiveConfig --> InteractiveList[Список объектов] AssetConfig --> InitialStateConfig[конфиг начальных состояний] end %% Горизонтальные связи (пунктиром для ясности) ModelLoading[Загрузка модели] %% Верхний ряд систем subgraph Highlight_Group [Подсветка мешей] Highlight[Подсветка] Highlight --> TriggerObject TriggerObject --> HighlightObjects[Объекты для подсветки] HighlightObjects --> ImproveHighlight[Улучшать визуализацию подсветки] end subgraph Position_Group [Позиционирование анимированное] SmoothPos[Позиционирование анимированное] SmoothPos --> Coord1[Координаты] Coord1 --> Velocity1[Velocity] end subgraph Inertia_Group [Функционал инерции] SmoothAcceleration[Плавный разгон] SmoothAcceleration --> SmoothAttenuation[Плавное затухание] end subgraph Rotation_Group [Вращение анимированное] SmoothRot[Вращение анимированное] SmoothRot --> Coord2[Координаты] Coord2 --> Velocity2[Velocity] end subgraph Player_Group [Игрок] Player[Игрок] Player --> Camera[Камера] Camera --> CameraSettings[Настройки камеры] Camera --> Collisions[Коллизии] end subgraph Anchor_Group [Якоря] POI[точки интереса на моделях] POI --> PathBuild[Строить путь по точкам от игрока] PathBuild --> ModelDisplay[Какие модели отображать] end %% Отдельный блок subgraph Teleport_Group [Телепорты] Teleports[Телепорты] end subgraph World_Group [Функционал мира legacy parity] ZoneState[Зоны и переключение зон] RouteMap[Route map overlay] VisibilityRules[Правила видимости моделей] ZoneState --> RouteMap RouteMap --> VisibilityRules end subgraph Scenario_Group [Сценарный движок] ScenarioRuntime[Runtime шагов сценария] PromiseEvents[События click input hotkey timeout any] Branching[Ветвления и переходы шагов] HintSystem[Система подсказок и фокуса камеры] ScenarioRuntime --> PromiseEvents PromiseEvents --> Branching Branching --> HintSystem end subgraph EmbeddedUi_Group [Встроенный UI в 3D] SvgScreens[SVG экраны на мешах] HtmlMeshUi[HTML mesh интерфейсы] MeshPopup[Popup выбора состояния объекта] SvgScreens --> HtmlMeshUi HtmlMeshUi --> MeshPopup end subgraph SessionProgress_Group [Прогресс и аналитика] DomainSnapshot[Снапшот доменного состояния] StepProgress[Прогресс шага и сценария] ErrorRecovery[Восстановление после ошибок] DomainSnapshot --> StepProgress StepProgress --> ErrorRecovery end subgraph ExternalIntegration_Group [Интеграция внешней оболочки] TrainerWrapper[Контракт trainer wrapper] ExerciseSession[Связка exercise session user] CompletionApi[Завершение и отправка результата] TrainerWrapper --> ExerciseSession ExerciseSession --> CompletionApi end subgraph MigrationRoadmap_Group [Путь реализации] P0[P0 Игрок и интерактив] P1[P1 Мир и маршруты] P2[P2 Сценарии и прогресс] P0 --> P1 P1 --> P2 end Mission_Node --> ModelLoading MissionConfig --> Asset_Config ModelLoading --> Highlight_Group Highlight_Group --> Position_Group Position_Group --> Rotation_Group Rotation_Group --> Inertia_Group Inertia_Group --> Player_Group Player_Group --> Anchor_Group Anchor_Group --> Teleport_Group Teleport_Group --> World_Group MissionSettings --> Scenario_Group TriggerObject --> EmbeddedUi_Group Scenario_Group --> SessionProgress_Group SessionProgress_Group --> ExternalIntegration_Group Player_Group --> P0 EmbeddedUi_Group --> P0 World_Group --> P1 Scenario_Group --> P2 SessionProgress_Group --> P2 %% Длинные связи со схемы Asset_Config -.-> ModelLoading ModelLoading -.-> TriggerObject[Триггер объект] classDef idleNode fill:#efdbc4, stroke:#554e46, color:#b25019 classDef activeNode fill:#ff7325,stroke:#652d0e, color:#652d0e classDef successNode fill:#247633,stroke:#efdbc4, color:#efdbc4 classDef errorNode fill:#ad2427,stroke:#efdbc4, color:#efdbc4 class Position_Group activeNode class Mission,MissionConfig idleNode class ImproveHighlight,HighlightObjects,TriggerObject,Highlight,ModelLoading,MissionId,AssetConfig,ModelConfig,InteractiveConfig,InteractiveList,InitialStateConfig successNode class MissionSettings,StartStep errorNode