Журнал: проверка физики и параметров крыльев (wing-physics-check)

План — docs/archive/plan/wing-physics-check.md, контракты — docs/contracts/wing-physics-check.md (К1–К6 v1, тест tests/contracts/test_wing_physics_contracts.gd, 5/5 ok). Ветка feature/wing-physics-check, копия ~/deltaplan-wing-physics-check (от main 3820bda).

Задачи

ЗадачаСтатусИсполнительКопия / веткаКоммитыКлючевые числа
WPC-1 паспорта против моделипринята (01.10)dp-researcher(удалена)4b3b577, слияние 7a51574модель = конфиг (трим ±0,73 %, «на себя» ±1,59 %), плотность √(ρ0/ρ) ±0,19 %; против 6 м/с на триме +2,3…+4,2 м/с, «на себя» +9…+21; 38 расхождений > 10 % с паспортом (сваливание у новых −11…−30 %, Vmax учебных −11…−27 %, спортивных +10…+36 % к DHV VG 0) — от подобия К4; atlas: срыв 12,6° < нейтраль разбега 16°
WPC-2 ветер у склонапринята (01.10)dp-researcher(удалена)576550e, слияние 27f4b156 м/с, над стартом U/меню: аналитика 10 м 1,02, 100 м 1,85; поле 10 м 1,40 (1,03–2,10), 100 м 2,12 (1,60–2,51) = 9,6–15 м/с > трим 8,6–10,8; динамик 3 м/с поле w мед. 0,77 (0,21–1,36) — пограничный
WPC-4 конфиги по паспортампринята (01.10)dp-engineer(удалена)638c0fb, e9126b0, слияние a47bbc438 конфигов; макс. отклонение модель/паспорт: сваливание 1,0 %, трим 0,4 %, «на себя» 3,0 %, мин. снижение 9,9 %, его скорость 8,1 %, качество 8,4 %; путевая против 6 м/с на триме > 0 у всех 48 (мин. 1,6 м/с, 85 кг); atlas нейтраль 16→8° (запас 4,45°); тесты: wing_passports 4/4, contracts 33/33, flight 84/84, wing_models_contract 4/4
WPC-3 пачка полётовпринята (01.10)dp-engineer(удалена)f4cbfd3, eaa2a59, слияние aa9dfa64160 запусков, 31 мин; 6 м/с трим: аналитика путевая ср. +0,5/+1,2/−0,7 м/с на 30/100/200 м (ветер в точке 9,6/9,0/10,5), поле (4 крыла) −0,2/−1,5/−3,3 (ветер 10,0/11,3/13,2) — сносит; «на себя» мин. +3,2 везде; 3 м/с — вперёд везде. Поле — «до air-start»

Решения и события

  • 01.10 — модуль заведён по отзыву пилота (1.0.0: «6 м/с — сдувает, 3 м/с — не набрать»). Контракты К1–К3 зафиксированы по коду main, К4–К6 — форматы данных волны 1. Первичный осмотр: параметры крыльев по порядку величины реальны (трим 28,5–38,8 км/ч, «на себя» 55–101 км/ч); подозрение — профиль ветра над гребнем (U10 меню + степенной профиль α 0,24 над местной землёй + множитель высоты) и/или поле воздуха на GPU. Параллельно работает feature/control-fix (ввод/старт) — его зону не трогаем.
  • 01.10 — дополнение пилота о старте при 0/3/6/10 м/с (через главную сессию): WPC-1 — Vmin/CL_max и скорость отрыва против бега пилота (К4 v2: новые значения quantity, колонки те же); WPC-2 — ветер 10 м/с и высоты 1–5 м над стартом/полосой разбега. Исполнителям отправлено сообщением. Логика разбега — зона feature/control-fix, не правим.
  • 01.10 — сужение (пилот: главная проблема — управление на старте, зона feature/control-fix): доделать WPC-1..3, WPC-3 — поле только по 1 крылу на группу (slavutich_ut, training, laminar, combat), ≤ ~1 ч; волну 2 (правки параметров) не начинать без решения на шлюзе. WPC-3 уведомлён.
  • 01.10 — пилот: паспорта крыльев считать верными — эталон, не пересматривать; WPC-1 проверяет только соответствие модели паспорту (Vmin/трим/Vmax/снижение/качество). Работу не расширять, довершить текущие замеры и отчёт. WPC-1 уведомлён.
  • 01.10 — сбой сети: WPC-1..3 оборвались (WPC-1 — незакоммиченные файлы в tools/research/wing_physics_check/, WPC-2/3 — без файлов), возобновлены сообщением с прежними урезанными рамками; WPC-2 — поле только на 2 стартах (kayancha_south, aushtau_east) ≤ ~1 ч.
  • 01.10 — WPC-2 принята (перепроверено по csv: 6 м/с, поле на 10 м над стартом 6,2–12,6 м/с, на 100 м 9,6–15,0; аналитика 6,1–6,3 / 11,1). Главная находка: в режиме поля (GPU, как у пилота) ветер меню задаёт приток на краю области 38 км (AirRuntime.conditions_of air_runtime.gd:161–167 → AirCase u_a = u10·max_profile air_case.gd:236–238), а не U10 на старте, хотя комментарий conditions_of говорит «на 10 м у старта»; над стартом поле даёт 1,0–2,1 × меню на 10 м. Аналитика: U10 на старте = меню, выше профиль на 10–47 % круче Taylor & Lee (отсчёт от местной земли + множитель высоты). Динамик при 3 м/с в поле — пограничный (физика). Применение к аппарату — в норме. Рекомендация исполнителя: пересчёт притока под U10 на старте (правка в AirRuntime — зона air-model, через шлюз). К3 v2 — после решения.
  • 01.10 — WPC-1 принята (перепроверено: atlas CL_max 1,46, α срыва 12,6° при launch.alpha_neutral_deg 16°; ground_run.gd:239–242 — предел скорости бега v_cap = 6,5·(1 + 0,3·разгрузка) без учёта склона). По характеристикам крыльев любое мягкое крыло идёт против 6 м/с — «сдувает» не от поляр. Расхождения с паспортами (сваливание/Vmax новых крыльев от подобия К4) не правим — сужение объёма; вынесено в открытые вопросы шлюза. Конфликт README WPC-1/WPC-2 решён объединением разделов.
  • 01.10 — находка control-fix (CF-1): в режиме поля у крыла на 1,5 м над стартом σw 0,4–1,05 м/с, направление ±90–180° — турбулентность поля (появилась между 551e79b и 041d8ed); бисект ведёт CF-1. Наши замеры: WPC-1 — штиль без поля (не затронут), WPC-2 — поле с выключенной турбулентностью (средние, не затронуты болтанкой), WPC-3 — турбулентность как в игре, исполнителю велено указать и оценить разброс.
  • 01.10 — шлюз 1 (отчёт главной сессии) и решения пользователя: (1) ветер в поле — подстроить под старт, делает feature/air-start (вместе с турбулентностью CF-1), профиль аналитики не сплющиваем, модель воздуха здесь не правим; (2) конфиги крыльев — к паспортам, Vmax спортивных — DHV VG 0; (3) atlas alpha_neutral — по физике в той же задаче, control-fix — через главную сессию; (4) WPC-3 доводим, числа поля — «до air-start», повтор поля (WPC-9) — после готовности air-start. К1 → v2 (инвариант угла разбега). Запущена WPC-4.
  • 01.10 — WPC-3 принята (перепроверено по csv: 6 м/с, трим, поле — на 100 и 200 м сносит 16/16 полётов, аналитика — 18/192 на 100 м, 122/192 на 200 м; на «на себя» путевая ≥ +3,2 м/с во всех 4160 запусках). Вывод: при 6 м/с из меню у старта и выше ветер 9–13 м/с — выше трима; аппарат «сдувает» на триме и он идёт вперёд только с подтянутой трапецией. В поле причина — завышение ветра (air-start); в аналитике — рост α с ветром (класс устойчивости) + отсчёт профиля от местной земли (вариант 2 пользователь не выбрал). Турбулентность включена во всех сериях: СКО путевой за окно 1–3,3 м/с, ошибка среднего ≈ ±1 м/с (аналитика) / ±0,5 (поле). Серия ridge искажена касаниями земли (поиск рабочей линии на триме) — только ориентир. Числа поля — «до исправления air-start»; повтор поля (WPC-9) — после готовности air-start: tools/flight/wind_penetration_batch.sh field. К3 — уточнена формулировка α (зависит от класса устойчивости), версия прежняя. Конфликт README решён объединением.
  • 01.10 — просьба control-fix (через главную сессию): atlas launch.alpha_neutral_deg ≈ 8° (срыв 12,5°, CL нейтрали ≈ 0,76·CL_max как у других, запас ≈ 4,5°) — передано в WPC-4 (с тем же правилом для крыльев, у которых CL_max меняется по паспорту). Для сведения: control-fix (CF-1) снял предел скорости бега на склоне (ground_run.gd, их ветка): разбег в штиль спорт 67 → 13 м, atlas 64 → 18 м — вывод WPC-1 «штилевой отрыв ограничен v_cap 30,4 км/ч» после их слияния неактуален; серия WPC-3 в воздухе этим не затронута.
  • 01.10 — WPC-4 принята (перепроверено в копии задачи: test_wing_passports 4/4, tests/contracts 33/33, tests/flight 84/84, test_wing_models_contract 4/4; после слияния в ветке модуля: contracts 33/33, flight 84/84, game 120/120; CHANGELOG — строка в «В работе»). Генератор tools/research/data/wing_passports/fit_passports.py --from-rev 2df5c2f (поляра целиком: подобие s + срез на паспортном сваливании; нейтраль разбега — прежняя доля CL_max, только вниз; alpha_range уменьшен на столько же, упор «нос вниз» прежний — иначе падал test_wing_clearance). Открытые вопросы на шлюз: CL_max по паспортам 1,13 (condor_crex3, DHV Vmin 34,5) … 2,91 (bautek_kite, «ca.» производителя); мин. снижение 0,69–0,74 у ww_t2c, ww_sport3, bautek_astir/kite (следствие паспортной Vms при прежнем качестве, своего мин. снижения в паспорте нет — вероятно, оптимистично); aeros_discus трим 1,06·Vs; ход трапеции на разбеге 8,5–10,5° у crex3, dp_she1, alto, piuma (control-fix). Для control-fix — таблица запаса «α срыва − нейтраль» по 27 крыльям — в отчёте шлюза.
  • 01.10 — шлюз 2 (итог модуля) — отчёт главной сессии. Ждут решения: открытые вопросы WPC-4 (CL_max/мин. снижение по паспортам «ca.»), слияние в main. Ждёт air-start: WPC-9 — повтор поля tools/flight/wind_penetration_batch.sh field после исправления ветра в поле.
  • 01.10 — решения пользователя по шлюзу 2: «ca.»-скорости оставить (паспорт — эталон); aeros_discus трим — середина диапазона 33–35 (fit_passports.py → PASSPORT_RANGE_MID, конфиг 33,4 → 34,4 км/ч при 129 кг, фикстура обновлена, генерация воспроизводится бит в бит, К1 v2 и допуски — без нарушений); слияние в main одобрено (вливает главная сессия). Свежий main подтянут в ветку модуля. WPC-9 открыт (после air-start).
  • 01.10 — после правки Discus и слияния main (c4f9b9b): test_wing_passports 4/4, tests/contracts 33/33, tests/flight 84/84, tests/game 120/120 (в первом прогоне test_e2e_all_locations упал один раз под нагрузкой; отдельно 1/1 и повтор tests/game 120/120 — не регрессия). Готово к слиянию в main (вливает главная сессия).