05. Набор у склона на каждом старте (первый шаг маршрута FR-34a, FR-12, FR-13)

Цель: проверить, что на каждом старте всех локаций при ветре в склон можно набрать высоту на динамике, а за гребнем — опускание и ротор; поправить склоновую модель при провале.

Контекст: configs/locations/*.json (start_sites, heading_deg), scripts/atmosphere/atmosphere.gd (склон, подветренная зона), scripts/atmosphere/ground_field.gd, configs/atmosphere.json (slope/lee), бот 01 (tests/atmosphere/xc/xc_pilot.gd).

Владения: tests/atmosphere/test_ridge_starts.gd (новый), режим «восьмёрки у склона» в tests/atmosphere/xc/xc_pilot.gd, scripts/atmosphere/ground_field.gd, секции slope/lee в configs/atmosphere.json.

Шаги:

  1. Для каждого старта: ветер 20 км/ч точно в склон (heading_deg), термики выключены (static, пусто), крыло sport.
  2. Режим бота «восьмёрки»: галсы вдоль склона на 50–100 м AGL впереди гребня, разворот всегда от склона.
  3. Замеры: набор за 5 мин; поле w в сечении поперёк гребня (картинка PNG для отчёта, по желанию).
  4. Ветер 20 км/ч с обратной стороны: на 100 м ниже линии тени за гребнем средний w < 0, СКО болтанки выше, чем на наветренной на той же AGL.

Критерий приёмки: на каждом старте (все локации) бот за 5 мин держится и набирает ≥ +50 м над стартом (слабые склоны — ≥ 0 м, с пояснением в отчёте); при 8 км/ч набора нет ни на одном (порог разумен); подветренная проверка — на всех стартах. Таблица «старт → набор, м» в docs/guide/atmosphere.md.

Зависимости: 01 (режим бота); параллельно с 02. Модель: sonnet. Размер: S.