{
 "generated": "2026-10-09",
 "budget": {
  "tick_ms": 50.0,
  "day_load_lo": 30.0,
  "day_load_hi": 38.0,
  "src": "LAUNCH_REPORT_2026-10-07.md §4: при 14–25 игроках средний тик 30–38 мс; на 50+ игроках TPS ≈ 18"
 },
 "params": {
  "ship_active": {
   "lo": 0.08823529411764706,
   "mid": 0.16588255255794807,
   "hi": 0.31185957408892456,
   "kind": "derived",
   "conf": "низкая",
   "unit": "мс/тик на корабль",
   "src": "TPS_INVESTIGATION.md: доля Rapier3D.step 30–35 %, снимки [report] shiplod 11.08 (A, B)",
   "note": "Доля выборок стека × MSPT ÷ число активных кораблей. Размер корабля не учтён: данных нет."
  },
  "ship_cruise_factor": {
   "lo": 0.25,
   "mid": 0.5,
   "hi": 1.0,
   "kind": "assumed",
   "conf": "нет данных",
   "unit": "доля от активного",
   "src": "shiplod: cruiseIntervalTicks 3 (адаптивно 4) → нижняя граница 1/4; верхняя — «экономии нет»",
   "note": "Не измерено на проде/стенде."
  },
  "ship_frozen_factor": {
   "lo": 0.0,
   "mid": 0.1,
   "hi": 1.0,
   "kind": "assumed",
   "conf": "нет данных",
   "unit": "доля от активного",
   "src": "shiplod: catch-up раз в ≤30 тиков → 1/30; верхняя граница — «экономии нет»",
   "note": "Самый важный пробел: сколько стоит припаркованный корабль, не замерено."
  },
  "ship_autosave": {
   "lo": 0.3867403314917127,
   "mid": 0.8165743536174226,
   "hi": 1.7241379310344827,
   "kind": "derived",
   "conf": "низкая",
   "unit": "мс в пик автосейва на корабль",
   "src": "TPS_INVESTIGATION.md: saveAll 70–150 мс; число кораблей 87–181 (снимки shiplod)",
   "note": "Раз в ~5–7 минут, разовый пик, а не постоянная нагрузка. Знаменатель — порядок величины."
  },
  "create_block": {
   "lo": 0.00015352115962587707,
   "mid": 0.0007311716401384502,
   "hi": 0.0013088221206510233,
   "kind": "measured",
   "conf": "средняя",
   "unit": "мс/тик на блок (простой)",
   "src": "AB_RESULTS_20261005.md «Нагрузочный тест», n=7, МНК через начало координат, 95 % ДИ (t, df=6)",
   "note": "Блоки без питания и сетей: нижняя оценка. Работающие установки дороже, данных нет."
  },
  "forced_chunk": {
   "lo": 0.0006509541047348972,
   "mid": 0.001523509362170722,
   "hi": 0.0035656596367375335,
   "kind": "derived",
   "conf": "низкая",
   "unit": "мс/тик на чанк",
   "src": "bench.csv (baseline, 3 цикла): остаток базы стенда за вычетом пустого мира, машин и кораблей",
   "note": "Огибающая по худшему сочетанию. Не включает автосейв чанков: знаменатель в логах не определён."
  }
 },
 "evidence": {
  "stand_base": {
   "mean": 14.166666666666666,
   "half": 0.5827865706368712,
   "cycles": 3,
   "cycle_means": [
    13.89642857142857,
    14.317857142857143,
    14.285714285714286
   ]
  },
  "presence": {
   "b": 0.0007311716401384502,
   "lo": 0.00015352115962587707,
   "hi": 0.0013088221206510233,
   "resid_sd": 0.4066102343762111,
   "n": 7,
   "slope_free": 0.00042987322032033836,
   "slope_free_lo": -0.00032279123457337755,
   "slope_free_hi": 0.0011825376752140544
  },
  "ship": {
   "A": [
    0.08823529411764706,
    0.2014388489208633
   ],
   "B": [
    0.1724137931034483,
    0.31185957408892456
   ],
   "lo": 0.08823529411764706,
   "hi": 0.31185957408892456,
   "pred_B": [
    6.601764705882353,
    17.52517985611511
   ],
   "obs_B": [
    15.0,
    23.333333333333332
   ],
   "overlap": [
    15.0,
    17.52517985611511
   ],
   "s1_ms": [
    0.8999999999999999,
    1.9000000000000001
   ],
   "s1_ships": [
    2.885914285714285,
    21.533333333333335
   ]
  },
  "stand_counts": {
   "chunks": 3600,
   "ships": 22,
   "machines": 1431
  },
  "presence_points": [
   [
    231,
    2.95
   ],
   [
    1050,
    2.85
   ],
   [
    1308,
    2.83
   ],
   [
    99,
    2.65
   ],
   [
    255,
    2.62
   ],
   [
    159,
    2.38
   ],
   [
    3,
    1.77
   ]
  ]
 },
 "checks": [
  {
   "name": "Наклон Create отличим от нуля (модель со свободным членом)?",
   "ok": false,
   "detail": "b=0.00043 [-0.00032; 0.00118] мс/блок — доверительный интервал включает 0, поэтому берём модель через начало координат и трактуем результат как верхнюю границу"
  },
  {
   "name": "Повторный раунд: 1398 блоков → 3.35 мс",
   "ok": true,
   "detail": "предсказание [1.91; 4.34] мс"
  },
  {
   "name": "Повторный раунд: 231 блоков → 3.23 мс",
   "ok": false,
   "detail": "предсказание [1.73; 2.81] мс"
  },
  {
   "name": "Корабль: c по снимку A предсказывает снимок B",
   "ok": true,
   "detail": "предсказано 6.6–17.5 мс, наблюдалось 15.0–23.3 мс, пересечение 15.0–17.5"
  }
 ]
}