2.7 KiB
2.7 KiB
Сессия 2026-09-21 (3) - мелкие UI-фиксы
#1 balance-trend показывал 8 дней вместо 7 (исправлено)
- Симптом: вверху страницы «Среднее за 8 дн.», а график ниже - за 7.
- Причина:
getDailyFoodTotals(7)-> SQLWHERE date >= date('now','-7 days')- диапазон включает оба конца (today-7 ... today) = 8 календарных дней. Balance-trend показывалbalances.length(сырое число строк) = 8. График строит свой ряд, поэтому у него 7. - Фикс точечный (не трогая общий запрос и график): в balance-trend
food7 = food7.slice(-7)- берём последние 7 дней. Корневой off-by-one в
getDailyFoodTotalsне трогал, чтобы не сдвинуть график 30/90.
- берём последние 7 дней. Корневой off-by-one в
#2 сегодняшние повторы не опознались (исправлено)
- Трек 1790002321789 (out-and-back A(47.4915,40.0817)<->B(47.4917,40.1025), ~1.5км, 5 раз
туда-обратно).
detectRepeats-> «не найдено». - Диагностика: горячих ячеек полно (197 с >=3 входами, макс 10). Эталон (самый длинный проход) при пороге горячей ячейки 2 раздувается до 2190м - тянет разово/дважды накатанный подъезд и развороты. Полный заезд 1585м покрывает лишь 72% этого эталона (<80%), поэтому засчитывался лишь 1 проход. При пороге 3+ эталон сжимается до ядра 1585м и находятся все 5.
- Причина глубже минусов порога: жадный порог 2 (нужен для «2 заездов») ломает эталон, когда подъезд накатан 2 раза.
- Фикс:
detectRepeatsтеперь ПЕРЕБИРАЕТ порог горячей ячейки от 2 до макс.входов и берёт тот, что даёт БОЛЬШЕ проходов (при равенстве - длиннее участок).minPasses-> только финальный порог числа проходов (minReps), развязан с порогом горячей ячейки. Вынесено вdetectAt(T). - Проверка (харнесс): СЕГОДНЯ 5× 1590м [16.8,17.6,17.1,17.1,16.8]; 11сен 5×, 17сен 5×, 16сен(склеен) 5×; 5 обычных поездок - 0 ложных. ~0.9с/сессия на десктопе (перебор порогов).