11-01. Меню «фото + кнопки», «Полёт…» с выбором старта на карте, «Управление»
Цель: закрыть «в работе» TODO: простое меню (FR-27), выбор старта на карте (FR-17), «Полёт…» (FR-34), «Управление».
Контекст: REQUIREMENTS.md (FR-17, FR-27, FR-34), docs/guide/game.md («Как добавить экран»), scripts/ui/start_menu.gd,
scripts/ui/flight_setup_screen.gd, scripts/ui/controls_screen.gd, scripts/ui/ui_kit.gd.
Владения: scripts/ui/start_menu.gd, scripts/ui/flight_setup_screen.gd, scripts/ui/controls_screen.gd,
scripts/ui/ui_kit.gd, соответствующие scenes/ui/*.tscn, configs/ui.json (ключи menu*/setup*/map*), новый
tests/ui/test_menu_setup.gd, docs/screenshots/ui/. Не трогать scripts/game/* (FlightSettings — только читать).
Шаги:
- Главное меню: фоновое фото (из
configs/ui.json), кнопки по центру вертикально: «Лететь», «Полёт…», «Управление», «Настройки», «Об игре», «Выход». «Лететь» — последний выбор (UserSettings). - «Полёт…»: крыло, масса, погода, ветер, место, старт списком и на карте; выбранная точка карты → ближайший склон
(StartPlacement), подпись «старт: …»; все 4 локации из
configs/locations/. Режима «задание/тренировка» НЕТ. - «Управление»: таблица клавиш из
configs/controls.json(W+Shift разбег, мышь, 1–5, C, Esc, геймпад). - Все строки через tr(), ключи в
locale/ui.csv(только ru; en — вне объёма). - Скриншоты 1920×1080 и 1280×720: меню, «Полёт…», карта, «Управление».
КРИТЕРИЙ ПРИЁМКИ:
test_menu_setup.gd≥ 6 проверок (6 кнопок в порядке FR-27;fly_requestedс выбранными крылом/массой/местом; выбор на карте даёт site или latlon; 4 локации в списке; «Управление» содержит все действия InputMap; нет строк без tr()). 8 скриншотов с чек-листом вdocs/screenshots/ui/README.md(ничего не обрезано, текст читаем, кнопки по центру). tests/game/test_ui.gd зелёный;tools/check.shзелёный. Зависимости: нет (волна 1). Модель: sonnet. Размер: M.