Паспорта крыльев → конфиги configs/wings/*.json: что изменено, источники, противоречия

Ветка wings/passports, 2026-10-01. Входные данные — tools/research/data/wing_passports/ (wings_merged.json: у каждого числа цитата и файл разбора; sources.md; PDF не храним, числа + адреса). Список моделей — docs/research/glider_models.md. ТЗ на 3D — docs/research/glider_3d_tz.md.

Принципы: физика прежде «нравится»; число меняется, только если есть паспорт той же модели и размера (или явно помеченный аналог); абсолютным L/D из заявок не верим; при противоречии не подгоняем молча, а фиксируем здесь. Поляры (polar), reference, трим, скорости, сваливание, ветер, управляемость — не менялись (в паспортах поляр нет; единственные числовые якоря — две точки Wills Wing и один файл LK8000, см. §4).

0. Решения пользователя (2026-10-01)

  • Правило для поляр и спорных данных: при расхождении источников приоритет у DHV (испытания и сертификация); поляры в конфигах, для которых нет точек DHV, не менять — ни по заявкам производителей, ни по LK8000, ни по точкам Wills Wing (они только справочные, см. §4). Менять поляру можно только по данным DHV.
  • combat.best_glide = 16 на 50 км/ч — оставить как есть, без калибровки (§4.1).
  • Target 16 — оставить однообшивочным (§4.6).
  • Wills Wing Sport 2 — из ТЗ на 3D убран совсем.
  • Тип конструкции (мачтовое/безмачтовое) там, где нет цитаты: по году выпуска и классу (до эры топлесс — мачтовое, T2/T2C/T3 и топлесс-семейства — безмачтовое), год неизвестен — мачтовое по умолчанию; уточним по отзывам пилотов.

1. Что изменено

ФайлПолеБылоСталоИсточник
training.json (Wills Wing Falcon 4 170)wing_mass_kg22,022,2willswing.com/hang-gliders/falcon-4/: «Glider Weight (lbs): 49» = 22,2 кг (запись `Wills Wing
sport.json (Moyes Litespeed RS 4)double_surface_pct9092карточка DHV 01-0427-07 (Geräteportal, service.dhv.de/db1): «Doppelsegel 92.0 %»
sport.jsonwing_mass_kg34,034,4та же карточка DHV: «Gewicht (ohne Packsack) 34.4 Kg»; у Moyes 33–35,5 кг (spec. RX: «Glider Weight 33–35 kgs») — внутри диапазона
combat.json (Aeros Combat GT 13.2)double_surface_pct9590карточка DHV 01-0454-10: «Doppelsegel 90.0 %» (все размеры GT — 90 %); в источниках Aeros процента нет
laminar.json (Icaro Laminar Easy 14)double_surface_pct8085аналог: Icaro Easy 2 M / Orbiter 14, карточки DHV 01-0424-07 и 01-0412-05: «Doppelsegel 85.0 %»
laminar.jsonwing_mass_kg28,0 (оценка)30,5те же карточки: «Gewicht (ohne Packsack) 30.5 Kg»

Пояснение к laminar.json: прямого паспорта «Laminar Easy 14» в наборе нет. Аналог Easy 2 M (DHV 2, 2007) / Orbiter 14 (DHV 2-3, 2005) совпадает с конфигом по размерам (14,45 м² и 10,35 м против 14,5 м² и 10,3 м) — почти наверняка одна линия Icaro (выборка: «Orbiter — predecessor to Alto», но прямого «Easy 14 = Easy 2 M» в найденных источниках нет). Поэтому размах и площадь не правились, а масса и двойная поверхность приняты по аналогу с пометкой в prototype и _doc конфига.

Изменения физически малы: масса крыла входит в полную массу и момент инерции разбега; эталонная поляра привязана к массе pilot_mass_ref + wing_mass и не смещается. double_surface_pct — описательное поле (строка в меню), на физику не влияет. Тесты до и после — §7.

2. Сверено с паспортом, числа подтверждены (не менялись)

КонфигПолеЗначениеПаспорт (источник)
trainingarea_m2, span_m15,8; 9,3Falcon 4 170: 170 ft² = 15,79 м², 30,6 ft = 9,33 м, AR 5,5 (willswing.com/hang-gliders/falcon-4/)
trainingpilot_mass_min/max_kg64; 100hook-in 140–220 lb = 63,5–99,8 кг (там же)
combatarea_m2, span_m13,2; 10,35Combat GT 13.2: 13,2 м², 10,35 м, AR 8,05 (aeros.com.ua/combat_gt; DHV 01-0454-10)
combatpilot_mass_*70; 110«Pilot clip-in weight 70–110 kg» (aeros.com.ua/combat_gt)
combatwing_mass_kg35,0Aeros: 35,0 кг; DHV: 36,3 кг (расхождение 3,7 %: оставлено по производителю)
sportarea_m2, span_m14,1; 10,4Litespeed RS 4: 14,1 м², 10,4 м (DHV 01-0427-07; Moyes: архив спецификаций, docs/archive/plan/wings-lineup.md §1.4)
sportpilot_mass_*70; 105Moyes 74–104 кг (lineup §1.4); у Litespeed RX 75–115 (moyes.com.au/…/litespeed-rx/specifications) — не менялось: RS 4 отдельной цифры hook-in в паспорте нет
targetarea_m2, span_m16,2; 9,6Aeros Fox (DHV 01-0457-10): 16,2 м², 9,6 м, 25,2 кг — идентично, но тождество Fox = Target 16 не доказано; конфиг не менялся
laminararea_m2, span_m14,5; 10,3Easy 2 M / Orbiter 14: 14,45 м², 10,35 м

3. Без паспортов — не менялись

magic (Airwave Magic IV 166), atlas («Атлас», копия La Mouette Atlas 16), slavutich_ut, apogee — этих семейств в паспортном наборе нет (производители/DHV-карточки 1979–1990-х не собирались). Данные — прежние (docs/archive/plan/wings-lineup.md, docs/plan/atlas_wing.md, docs/research/wing_sources.md).

4. Противоречия, которые не подгонялись (в отчёт главной сессии)

4.1. combat.json: best_glide = 16 на 50 км/ч против класса T2C. Единственная открытая «поляра» этого класса — LK8000 Delta_WillsWing_T2C.plr («T2C, Laminar, Combat»): при массе 100 кг (пилот + крыло) и площади 12,6 м² точки (35,5; 0,85), (47,5; 0,97), (80,0; 2,54) км/ч; м/с, то есть 11,6 / 13,6 / 8,7. Пересчёт на нагрузку Combat (123 кг на 13,2 м², √(нагрузки): множитель 1,084): 38,5 км/ч — 0,92 м/с; 51,5 км/ч — 1,05 м/с (L/D 13,6); 86,7 км/ч — 2,75 м/с. В конфиге на тех же скоростях 0,85; 0,90 (L/D 15,9); 2,73. То есть на высокой скорости (80–90 км/ч) поляра совпадает, а в районе минимального снижения и наилучшего качества — на 8–15 % «чище» LK-файла. Абсолютный L/D заявлен только маркетингом Moyes (Litespeed S: «15:1» при 28 mph); в паспортах Aeros качества нет. Оставлено как есть — решение пользователя (без калибровки).

4.2. Поляра training (Falcon) выше 42 км/ч чище официальной поляры Wills Wing. docs/archive/plan/wings-lineup.md утверждает «совпадает с полярой WW Falcon в пределах ±0,07 м/с» — это верно до ≈ 40 км/ч. Выше: таблица lineup (снята по графику WW на глаз): 45 км/ч — 1,70; 48 — 2,03; конфиг на 45 км/ч — 1,49, на 50 — 1,85; точка V2 со страницы WW Polar Data (530 fpm @ 34 mph = 2,69 м/с @ 54,7 км/ч, опорная масса WW ≈ 100 кг): конфиг даёт 2,30 (−15 %). Вероятная причина — нижняя часть поляры (30–40 км/ч) калибровалась по сваливанию/мин. снижению, верхняя — оценкой. Не менялось: влияет на крейсерские скорости учебных крыльев (игровой сценарий «разгон на трапеции»), нужна отдельная калибровка.

4.3. Точки WW V1/V2 для аналогов остальных классов (наше крыло при нагрузке WW: опорная масса WW = 1,3·минимальный hook-in + масса крыла, снижение и скорость масштабируются на √(m/m_ref); допущение правила WW — из docs/research/glider_polars_sources.md):

WWАналог в игреV1 (низкая скорость): WW / нашеV2 (2,69 м/с, высокая скорость): скорость WW / наше снижение
Falcon 170training1,09 / 1,01 на 30,6 км/ч54,7 км/ч: 2,69 / 2,30
Eagle 164training (по классу)1,04 / 1,12 на 35,459,5: 2,69 / 2,57
Ultra Sport 147laminar (по классу)1,00 / 0,95 на 35,464,4: 2,69 / 1,77
Super Sport 153laminar1,00 / 0,96 на 35,464,4: 2,69 / 1,76
Sport 2 155laminar0,94 / 0,93 на 35,464,4: 2,26 / 1,81
U2 145laminar0,89 / 0,90 на 37,070,8: 2,69 / 2,42
Fusion 150sport (по классу)0,89 / 0,83 на 37,070,8: 2,69 / 1,96

Низкоскоростные точки (минимальное снижение) согласуются с конфигами в пределах ±0,1 м/с; на высокой скорости наши поляры дают на 4–35 % меньшее снижение (Fusion/Ultra Sport/Super Sport — 27–35 %: повод проверить «хвост» поляры laminar и sport выше 65 км/ч; крылья разных эпох и классов, вывод не однозначный). Поляры не менялись.

4.4. Масса крыла и скорости DHV. DHV даёт массу «ohne Packsack» (Combat GT 13.2 — 36,3 кг против 35,0 у Aeros); DHV Vne (испытанная, 90 км/ч для большинства) ниже заявок производителей (Moyes RX — «Vne truck test 100»; Aeros Vmax 110+) — в конфигах Vne нет, full_pull_speed_kmh (combat 100, sport 95, laminar 85) — не из паспортов; DHV Vmax при VG 0 % — 75–90 км/ч у топлесс (Litespeed RX — 75). Оставлено.

4.5. Сваливание. reference.stall_speed_kmh у combat 28 км/ч при эталонной массе 123 кг (с крылом); DHV Vmin (VG 0 %) для Combat GT 12.7 — 32 км/ч при стартовой массе до 135 кг; пересчёт на нашу массу по √m даёт 29,3 км/ч против 28 — разница ≈ 1 км/ч, в пределах разброса. Не менялось.

4.6. Двойная поверхность Target/Fox. DHV: Aeros Fox 25 % (карточка 01-0457-10), Fox 13 — 30 %, Target 21 (тандем) — 20 %. В конфиге и 3D-модели Target 16 — однообшивочное (0 %, lower_cover 0,14). Для Target 16 1995 г. собственного паспорта нет; решение пользователя — оставить однообшивочным.

4.7. Нужны, но в источниках чисел нет (не выдумывались): закрутка, профиль/кривизна, форма паруса, высота кингпоста, положение подвеса у большинства моделей (есть только у Moyes: «C of G Front of Keel» 1343–1353 мм у Litespeed RX/S; 1658 мм у Malibu 2; у T2/T2C — keel_to_hang_loop).

5. Ошибки разбора, замеченные при работе (не правились в исходных данных)

  • Icaro MastR M: площадь 10,0 м² (DHV-разбор, вне диапазона) — при AR 7,35 и размахе 10,0 м ожидается ≈ 13,6 м²; в ТЗ помечено.
  • Wills Wing T2: «battens = 12» — это диаметр латы 12 мм (разобран как число); в ТЗ значения с «мм» в цитате отбрасываются.
  • Moyes Litesport: «min sink −1,0» и число латов 27 (вероятно, с нижними) — не использовать.
  • DHV «Anzahl Latten N / M» = верхние / нижние; «22+4» (Icaro) — верхние+нижние: в ТЗ берётся первое число.
  • Выборка конструкции (Haiku): отметки «kingpost» для Wills Wing T2/T2C/T3 без подтверждающей цитаты — неверны (это безмачтовые) и в ТЗ отброшены; принимается только тип с цитатой, прямо называющей мачту/безмачтовость.

6. Как воспроизвести

cd tools/research/data/wing_passports
python3 consolidate.py           # паспортный свод (docs/research/glider_models.md)
python3 make_3d_tz.py            # docs/research/glider_3d_tz.md (выборка конструкции — out/construction/batch_*.json)
python3 wings3d_geometry.py      # площадь в плане 3D-моделей против конфигов

7. Проверки

Тесты до и после правок (godot --headless --path . res://tests/run_tests.tscn -- --filter=…): test_wings, test_polar, test_mass, test_wing_catalog, test_wing_picker — результаты в журнале docs/archive/plan/wings-passports-progress.md.