diff --git a/artifacts/journey-960x540-before.jpg b/artifacts/journey-960x540-before.jpg new file mode 100644 index 0000000..784b99a Binary files /dev/null and b/artifacts/journey-960x540-before.jpg differ diff --git a/artifacts/journey-960x540-fixed.jpg b/artifacts/journey-960x540-fixed.jpg new file mode 100644 index 0000000..09b9d3f Binary files /dev/null and b/artifacts/journey-960x540-fixed.jpg differ diff --git a/artifacts/journey-960x540-light-far.jpg b/artifacts/journey-960x540-light-far.jpg new file mode 100644 index 0000000..a97fcd5 Binary files /dev/null and b/artifacts/journey-960x540-light-far.jpg differ diff --git a/artifacts/journey-kvant-focus-three.jpg b/artifacts/journey-kvant-focus-three.jpg deleted file mode 100644 index fb1f83a..0000000 Binary files a/artifacts/journey-kvant-focus-three.jpg and /dev/null differ diff --git a/artifacts/journey-kvant-light.jpg b/artifacts/journey-kvant-light.jpg deleted file mode 100644 index e4f26cf..0000000 Binary files a/artifacts/journey-kvant-light.jpg and /dev/null differ diff --git a/artifacts/journey-kvant-repaint.jpg b/artifacts/journey-kvant-repaint.jpg deleted file mode 100644 index 376825b..0000000 Binary files a/artifacts/journey-kvant-repaint.jpg and /dev/null differ diff --git a/artifacts/journey-kvant-three-cards.jpg b/artifacts/journey-kvant-three-cards.jpg index b253037..21b3b83 100644 Binary files a/artifacts/journey-kvant-three-cards.jpg and b/artifacts/journey-kvant-three-cards.jpg differ diff --git a/artifacts/journey-kvant-wide.jpg b/artifacts/journey-kvant-wide.jpg index 52d9d02..bccc188 100644 Binary files a/artifacts/journey-kvant-wide.jpg and b/artifacts/journey-kvant-wide.jpg differ diff --git a/artifacts/verification-journey-960x540.md b/artifacts/verification-journey-960x540.md new file mode 100644 index 0000000..777b61b --- /dev/null +++ b/artifacts/verification-journey-960x540.md @@ -0,0 +1,23 @@ +# Читаемость схемы на 960×540 — 11 октября 2026 + +Проблема воспроизведена на локальном стенде с публичным расписанием Автовокзала и тестовыми часами: для названия «Педагогический колледж» оставалось **9,05 px**, текст высотой **18,08 px** пересекался с временем. Фиксированная строка минут была ниже самих цифр (26 px против 36,44 px). + +Изменения: + +- Высота строки времени определяется её содержимым. На короткой карточке минуты имеют 26 px, название получает оставшуюся высоту без пересечения. +- При высоте содержимого карточки до 300 px пояснения объединены в подпись «После посадки · по расписанию». При высоте до 260 px повторный верхний блок маршрута скрыт; номер, направление и отправление остаются в нижней панели ближайшего рейса. +- Стрелка схемы удалена из DOM и CSS. +- Кружки увеличены: **16 → 22 px** на короткой карточке, **18 → 24 px** на широкой. Центр линии совпадает с центром маркера. + +Проверка в браузере: + +- **960×540, ТВ, тёмная тема, расстояние «Близко»**: весь цикл четырёх остановок. Названия — 41,70–41,91 px, высота 47,11–47,35 px при доступных 51,49 px. Зазор до времени — 6,14–6,38 px. Кружки 22 px, стрелок нет. +- **960×540, светлая тема, расстояние «Далеко»**: после окончательного порога 260 px длинное название имеет 43,41 px, две строки высотой 98,11 px при доступных 102,12 px; зазор до времени 6,01 px. Верхний повторный маршрут скрыт, нижний остаётся видимым. +- **960×480, «Далеко»**: длинное название — 33,82 px, высота 38,21 px при доступных 42,12 px. +- **879×593**: длинное название 38,46 px / 43,45 px высоты при доступных 61,30 px; зазор 19,84 px. +- **390×667**: две строки длинного названия 24,94 px / 56,34 px высоты при доступных 60,23 px; зазор 5,89 px. +- **1920×1080, три карточки**: длинное название 34,84 px / 78,72 px высоты при доступных 238,12 px; кружок 24 px. +- Пауза и автоматическая смена остановок сохранены. Ошибок/предупреждений JavaScript нет. +- `npm run build` (TypeScript + Vite) и `git diff --check` прошли. Новые модульные тесты для CSS не добавлялись; основная проверка — воспроизведение и измерение реального DOM до/после. + +Снимки: `journey-960x540-before.jpg`, `journey-960x540-fixed.jpg`, `journey-960x540-light-far.jpg`. На стенде — тестовые часы и погода, реальные сохранённые названия остановок. Снимки с отсутствующими статическими фрагментами при скрытом in-app browser перезаписаны после отображения браузера; итоговые показывают полный кадр. Проверка выполнена в браузере, без физического Xiaomi Mi Box. diff --git a/artifacts/verification-journey-kvant.md b/artifacts/verification-journey-kvant.md new file mode 100644 index 0000000..d4da964 --- /dev/null +++ b/artifacts/verification-journey-kvant.md @@ -0,0 +1,25 @@ +# Схема по мотивам «Кванта» — 11 октября 2026 + +Изучены [описание инфосистемы](https://www.artlebedev.ru/kvant/moscow/) и предоставленное видео `kvant-door-display-new.mp4` (44 секунды). Взяты горизонтальная линия, крупное выделенное название и согласованное движение схемы влево. Цвета, шрифт, фон и карточки сохранены из RideBus Board. + +«Дальше по маршруту» теперь последовательно выделяет до четырёх следующих остановок. Новое название появляется с увеличением, выделенная ячейка расширяется, соседние остаются компактными. В конце обзор возвращается к началу через появление, без обратного движения линии. Время — от посадки по расписанию. Подпись «После посадки» обозначает обзор поездки, а не реальное положение транспорта. Данные, ограничения рейса, отмены, кеш и ключ настроек `infoServiceEnabled` сохранены. + +## Проверено + +- `npm run build` — TypeScript и Vite успешно. +- `npm test` — **81 из 81**, без пропусков и ошибок. +- `git diff --check` — без ошибок. +- Локальный визуальный стенд на 5193 использовал сохранённое публичное расписание Автовокзала, фильтр №4 и тестовые часы/погоду. Рабочая база и сервер не изменялись. +- **879×593**: автоматическая последовательность Поликлиника → Педагогический колледж → Школа №9 → Дом торговли → Поликлиника. Сдвиг линии: −172,54 / −345,08 / −517,62 / 0 / −172,54 px до увеличения минимальной ширины соседних остановок. Возврат в начало отмечен `data-loop=true`. +- На коротком экране после удаления повторных номеров под линией выделенные названия имеют высоту 43–58 px при доступных 62 px; размер пересчитывается для каждого названия, а не наследуется от предыдущего. +- **1079×591**: названия, время пути, схема, подпись и нижний ближайший рейс помещаются без пересечений. +- **1280×800**: сохранён полный нативный снимок широкой карточки; выделенное название и нижняя панель видны целиком. +- **1920×1080**: проверены одна широкая карточка и три карточки вместе с погодой/QR. В окончательном варианте трёх карточек «Дом торговли» — 57,16 px, две строки высотой 129,17 px при доступных 229,35 px. Частично видимые будущие остановки затухают у правого края; выделенное название видно полностью. +- **390×667, светлая тема**: «Педагогический колледж» помещается целиком на двух строках: 28,03 px, высота 63,34 px при доступных 67,40 px. Часы, ближайший рейс и нижняя панель видны. +- Уличный профиль: первая остановка сохраняется после 5,1 секунды, после 6,2 секунды выделена вторая; переход линии — 300 ms. Для ТВ — 4 секунды между остановками и 900 ms движения. Пауза останавливает обзор. Для reduced motion CSS отключает движение и появление. +- При смене ближайшего рейса с 12:15 на 21:45 обзор сброшен на первую остановку; это наблюдалось на стенде после длительного продолжения сессии. +- Ошибок и предупреждений JavaScript в проверенной вкладке нет. Настройки визуального стенда возвращены: ТВ, тёмная тема, все три блока, информация 8 секунд. Основные настройки на 5180 не менялись. + +При съёмке большого скрытого in-app viewport некоторые полностраничные снимки содержали только перерисованные фрагменты текста. Нативный `getScreenshot` показывает полный кадр: итоговый широкий снимок сохранён непосредственно через него, итоговые три карточки повторно сняты и просмотрены. Дефектные промежуточные снимки удалены. Это ограничение захвата, а не доказательство поведения на физическом телевизоре. Xiaomi Mi Box в этой проверке не использовался. + +Итоговые снимки: `journey-kvant-wide.jpg`, `journey-kvant-three-cards.jpg`, `journey-kvant-879x593.jpg`, `journey-kvant-1079x591.jpg`, `journey-kvant-390x667.jpg`, `journey-kvant-portrait-long.jpg`. Портрет со светлой темой показывает длинное название, широкий — основные приёмы из видео. diff --git a/src/NextStops.tsx b/src/NextStops.tsx index 309f819..ba2a79b 100644 --- a/src/NextStops.tsx +++ b/src/NextStops.tsx @@ -41,9 +41,9 @@ export function NextStops({ departure, journey, loading, now, paused, settings,